我有一個Pandas
系列10000行,填充了單個字母表,從A到Z. 但是,我想創建僅用於A,B和C,使用熊貓get_dummies
。 我該如何去做呢?熊貓 - 只爲某些值獲取假人
我不想獲取列中所有行值的虛擬變量,然後選擇特定列,因爲列中包含最終導致內存錯誤的其他冗餘數據。
我有一個Pandas
系列10000行,填充了單個字母表,從A到Z. 但是,我想創建僅用於A,B和C,使用熊貓get_dummies
。 我該如何去做呢?熊貓 - 只爲某些值獲取假人
我不想獲取列中所有行值的虛擬變量,然後選擇特定列,因爲列中包含最終導致內存錯誤的其他冗餘數據。
試試這個:
# create mock dataframe
df = pd.DataFrame({'alpha':['a','a','b','b','c','e','f','g']})
# use replace with a regex to set characters d-z to None
pd.get_dummies(df.replace({'[^a-c]':None},regex =True))
輸出:
alpha_a alpha_b alpha_c
0 1 0 0
1 1 0 0
2 0 1 0
3 0 1 0
4 0 0 1
5 0 0 0
6 0 0 0
7 0 0 0
如果我的分類變量是隨機字符串,比如約翰,簡和瑪麗,而不是a,b和c,那麼該怎麼辦? – ExtremistEnigma
您可以使用您希望排除的名稱列表。 'pd.get_dummies(df.replace([ '湯姆', '奔'],[無,無))' – JAB
那麼,你想過濾DF第一或者你想'這些值僅get_dummies'? – EdChum
我只想爲這些值使用get_dummies。 – ExtremistEnigma
注意:你可以用'get_dummies'的'sparse = True'參數解決很多內存問題。 –