2016-09-22 168 views
2

我有一個DataFrame,其索引名爲SubjectID,列Visit。對於Value1Value2,主題有多個訪問和一個整數值或一個N/A。我想摺疊具有相同SubjectID和相同Visit數字的行。熊貓合併具有相同值和相同索引的行

這裏是我的數據幀:

SubjectID Visit Value1 Value2  
B1   1   1.57  N/A 
B1   1   N/A  1.75 
B1   2   N/A  1.56 

我想它看起來像這樣:

Subject ID Visit  Value1 Value2 
B1   1   1.57  1.75 
B1   2   N/A  1.56 

我試圖用groupby()來解決這個問題,但我不知道怎麼樣以使其考慮Visit列中的索引和值。

回答

3

您可以使用groupby.firstgroupby.last獲取組中每列的第一個/最後一個非空值。對於示例數據,輸出將是相同的兩種方法:

df = df.groupby(['SubjectID', 'Visit']).first().reset_index() 

輸出結果:

SubjectID Visit Value1 Value2 
0  B1  1 1.57 1.75 
1  B1  2  NaN 1.56 
+0

太感謝你了,這真是棒極了 – MScar

相關問題