假設我有熊貓 DataFarme,如下所示:
Name VALUE
0 A 1
1 A 2
2 A 3
3 B 4
4 B 5
5 C 6
6 C 7
7 C 8
8 C 9
9 D 10
我想選擇下面所有具有相同名稱但不同值的行:
Name Value
0 A 1
1 A 2
2 A 3
Name Value
0 C 6
1 C 7
2 C 8
3 C 9
我嘗試使用 .T 轉換行和列,然后使用 .groupby 選擇所有具有相同名稱的列。但是,有兩個問題:第一,.groupby 不能選擇相同的列;其次, .groupby 實際上將所有具有相同名稱的值添加到一行中,這不是我想要的結果。
然后,我嘗試使用 .duplicated(keep=False),但這段代碼只告訴我資料是否相同。
我應該使用什么代碼?實際上。我有一千個資料和 20 多個同名行,如“A”、“B”、“C”、“D”,直到“Z”。每個名稱都有一千個不同的值。
uj5u.com熱心網友回復:
如果您想獲得不同的資料框,那么您可以這樣做:
df_splits = [v for k, v in df.groupby('Name')]
for df_split in df_splits:
print(df_split, sep = '\n')
輸出:
Name VALUE
0 A 1
1 A 2
2 A 3
Name VALUE
3 B 4
4 B 5
Name VALUE
5 C 6
6 C 7
7 C 8
8 C 9
Name VALUE
9 D 10
要單獨訪問資料框,請使用:
df_splits[0], df_splits[1]....
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468420.html
