2017-04-19 58 views
1

我有一個數據幀,其中一些行有重複的指標下降重複,保持最大值爲每列跨複製

A B C D 
k1 1 2 3 1 
k1 2 1 1 3 
k2 1 2 1 2 

我想繼續在每個列中的最大值重複的內:

A B C D 
k1 2 2 3 3 
k2 1 2 1 2 

想法?

+0

你可以使用'df.groupby(df.index).max()'嗎? – pshep123

+1

df.groupby(level = 0).max()會給你想要的輸出。 @ pshep123,你可以發表你的評論作爲回答 – Vaishali

+1

@ A-Za-z,謝謝。我從我的手機輸入這個,所以沒有運行代碼,但期望它的工作。 – pshep123

回答

2

亞歷克斯,我覺得簡單的東西:

df.groupby(df.index).max() 

應該爲你做它。

+0

當我這樣做時,我的索引字段奇怪地發生了變異,導致我認爲groupby可能會做一些奇怪的事 - 我給它一個字符串作爲索引,在groupby之後它是一個日期時間。有任何想法嗎? –

+0

您可以將該索引重新命名爲列和groupby新列嗎?另外,你檢查了dtype嗎?您所使用的數據框與您發佈的數據幀有很大不同嗎? – pshep123

+0

@ Alex Lenail,你可以發佈你正在嘗試的數據框嗎?因爲這段代碼在你現在發佈的df上工作正常 – Vaishali