假设我有熊猫 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”。每个名称都有一千个不同的值。
如果您想获得不同的数据框,那么您可以这样做:
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]
....
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句