[英]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.