[英]Python: Get Columns of max values each row of an pandas dataframe
[英]How to save max row values for each column in python dataframe?
我有一個 dataframe 像:
Name A B C
0 Sen 1 0 NaN
1 Kes 0 1 0
2 Pas 0 0 1
3 Sen 0 0 NaN
4 Pas 0 0 2
我想使用規則單獨刪除每列的重復項:
名稱列是關鍵。
例如 Sen 重復,但其值僅在 A 中發生變化,對於 B 和 C,其值相同。 因此,對於 A,我想做一個 OR 運算並將 Sen A 的值保留為 1,而在另一行中它應該填充“Nan”。
基本上我不想刪除整行進行重復,而是修改每列內所有列的值。
預期 output:
Name A B C
0 Sen 1 0 NaN
1 Kes 0 1 0
2 Pas 0 0 Nan
3 Sen Nan 0 NaN
4 Pas 0 0 2
我們可以用where
做groupby
+ max
s=df.groupby('Name').max().reindex(df.Name).values
df.drop('Name',1).where(df.drop('Name',1)==s)
A B C
0 1.0 0 NaN
1 0.0 1 0.0
2 0.0 0 NaN
3 NaN 0 NaN
4 0.0 0 2.0
#df.loc[:,'A':]=df.drop('Name',1).where(df.drop('Name',1)==s)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.