我得到了一个包含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 s 中完成了完全映射。
有更快的方法吗?
我认为replace()
函数浪费了很多时间来进行无意义的搜索。我正走向正确的方向吗?
答案 0 :(得分:0)
我现在可以回答我自己的问题了。
这样做的目的是处理分类数据,这些数据在分类任务等上反复出现。我们首先想要使用单热编码方法转换分类数据,这是普遍存在的。到数字向量,sklearn包或statsmodel可接受。
为此,只需使用以下命令将cvs文件作为pandas.DataFrame读取:
data = pd.read_csv(dir, encoding='utf-8')
然后:
data_binary = pd.get_dummies(data, prefix=['os','locate'],columns=['os','location'])
一切都很好。