1
我有這樣一個數據幀:合併多個列在一個數據幀
dataf = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'], 'C': ['c', 'c',np.nan]})
get_dummies(df):
A_a A_b B_a B_b B_c C_c
0 1 0 0 1 0 1
1 0 1 1 0 0 1
2 1 0 0 0 1 0
我想數據幀的所有共同的屬性是在一列。這裏對於屬性'a',我們有兩列,即A_a & B_a。我希望在名稱爲'a'的一列中以及值爲A_a & B_a的UNION。它應該適用於所有類似的屬性。它應該看起來像:
a b c
0 1 1 1
1 1 1 1
2 1 0 1
原來,我有成百上千的屬性,以百萬+行。因此一個通用公式將起作用。謝謝。
不使用'prefix =「」, prefix_sep =「」'你可以做,'df.groupby(df.columns.str [-1:],axis = 1).sum()'也許爲了更好的可讀性,'.any()。astype(int) ' - 這樣工會不會超過1? – Zero
你說得對,但是如果改變'df'中的值,它就不起作用。 – jezrael
你有一個點。我有點尖銳與多個具有相同名稱的列。 – Zero