如何在熊猫中按两列分组,其中两者的组合是唯一的

lut17

我有一个由两列组成的数据框,它们在一起是唯一的,我想对其进行分组并能够显示结果。例如:

import pandas as pd

d = {'label': ['A','A','B','B','B','C','E','E'],
     'value': [30,30,40,40,40,0,10,10]}
df = pd.DataFrame(d)
print(df)

结果

  label  value
0     A     30
1     A     30
2     B     40
3     B     40
4     B     40
5     C      0
6     E     10
7     E     10

注意所有 A 是 30,B 是 40,等等。
如果我同时尝试groupby

grouped = df.groupby(['label','value'])
print(grouped)

结果在<pandas.core.groupby.generic.DataFrameGroupBy object at 0x00000208BD8470D0.

我真的很想摆脱数据框中的这些重复行。

我的目标是获得结果数据框:

  label  value
1     A     30
2     B     40
3     C      0
4     E     10
亨利·埃克

head可用于获取n每组的第一行:

import pandas as pd

d = {'label': ['A', 'A', 'B', 'B', 'B', 'C', 'E', 'E'],
     'value': [30, 30, 40, 40, 40, 0, 10, 10]}
df = pd.DataFrame(d)

print(df.groupby(['label', 'value']).head(1))

drop_duplicates可用于从整个 DataFrame 中删除重复的行:

print(df.drop_duplicates())

两者的输出:

  label  value
0     A     30
2     B     40
5     C      0
6     E     10

假设 df 中还有其他列,并且重复'label', 'value'对是唯一应该考虑的值,可以使用子集标志:

import pandas as pd

d = {'label': ['A', 'A', 'B', 'B', 'B', 'C', 'E', 'E'],
     'value': [30, 30, 40, 40, 40, 0, 10, 10],
     'third': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(d)

print(df.drop_duplicates(subset=['label', 'value']))

输出:

  label  value  third
0     A     30      1
2     B     40      3
5     C      0      6
6     E     10      7

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫:按熊猫0.23.4中的两列组合分组

熊猫:按两列组合分组

如何通过两列的唯一组合对熊猫数据框进行分组?

SQL:如何按两列的唯一组合分组?

如何通过使用两列来对熊猫进行分组,但如何合并组以获得这两列中的键的唯一组合

如何在熊猫中组合两列

Postgres:按两列分组-分组依据包括所有唯一组合,其中0表示空计数

如何在Ubuntu 14.04,Upstart,SysV或两者的组合中启动服务?

如何用熊猫中的交换值按两列分组?

如何使用熊猫按两列分组?

在熊猫中按两列分组

如何在熊猫数据框中组合两列文本

如何在模型中添加唯一性组合并为两列添加索引?

如何在Mozilla Firebug中检查两者的价值?

如何在两列中按日期间隔分组?

如何在SQL中按两列分组?

如何在mysql中按两列分组

熊猫堆栈在两列的组合上找到唯一的

如何在Excel中以给定的概率在两者之间选择一个值?

如何在postgres的两列中添加唯一约束,其中一列的值为“ true”

如何按两列组合键的任一排列对行进行分组

如何获取PostgreSQL中两个平均值之间的差异,其中平均值在一列上,而最终表按两列分组?

MySQL:如何在给定其他某个列值的情况下选择其中两个列值的组合唯一的行

熊猫:按两列或更多列分组

如何按两列条件大熊猫分组数据

如何在Rails的两列中验证唯一ID?

SQL按两列的组合值分组

如何将用户分为A,B或两者分组

如何按熊猫每组两列的唯一记录计数?