[英]What is the fastest way to map value in DataFrame/Series according to a dict?
我有一个5,000,000行x 3列的数据集。
基本上,它看起来像:
location os clicked
0 China ios 1
1 USA android 0
2 Japan ios 0
3 China android 1
因此,我去了Pandas.DataFrame获得了一些很棒的快速支持。
现在,根据一个命令,我将替换位于一系列数据框中的值。
注意:我用作参考的字典看起来像:
{ China : 1,
USA : 2,
Japan : 3,
.... : ..
}
因为我使用Pandas.DataFrame.Column_Label.drop_duplicates()
。
终于,我得到了:
location os clicked
0 1 ios 1
1 2 android 0
2 3 ios 0
3 1 android 1
我已经在446秒内完成了完全映射。
有更快的方法吗?
我认为replace()
函数为无意义的搜索浪费了很多时间。 那么,我要走向正确的终点吗?
我现在可以回答我自己的问题。
这样做的重点是处理分类数据,这些数据一遍又一遍地出现在“分类”任务等中。首先,我们普遍希望使用一种热编码方法将分类数据转换为数值向量,这对于sklearn来说是可以接受的包或统计模型。
为此,只需使用以下命令将cvs文件读取为pandas.DataFrame: data = pd.read_csv(dir, encoding='utf-8')
然后:
data_binary = pd.get_dummies(data, prefix=['os','locate'],columns=['os','location'])
一切顺利。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.