如何从Pandas Groupby中的多个列中获取唯一值

法比奥·拉曼纳(Fabio Lamanna)

从此数据帧df开始:

df = pd.DataFrame({'c':[1,1,1,2,2,2],'l1':['a','a','b','c','c','b'],'l2':['b','d','d','f','e','f']})

   c l1 l2
0  1  a  b
1  1  a  d
2  1  b  d
3  2  c  f
4  2  c  e
5  2  b  f

我想对c执行groupby,以获取l1l2列的唯一值对于一栏,我可以做:

g = df.groupby('c')['l1'].unique()

正确返回:

c
1    [a, b]
2    [c, b]
Name: l1, dtype: object

但使用:

g = df.groupby('c')['l1','l2'].unique()

返回:

AttributeError: 'DataFrameGroupBy' object has no attribute 'unique'

我知道我可以(以及其他)获得两列的唯一值:

In [12]: np.unique(df[['l1','l2']])
Out[12]: array(['a', 'b', 'c', 'd', 'e', 'f'], dtype=object)

有没有一种方法可以将此方法应用于groupby以获得类似于以下内容的信息:

c
1    [a, b, d]
2    [c, b, e, f]
Name: l1, dtype: object
艾汉

您可以使用apply

import numpy as np
g = df.groupby('c')['l1','l2'].apply(lambda x: list(np.unique(x)))

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Pandas GroupBy从多个列中聚合唯一值

如何从Angular 5中的数组中基于多个列获取唯一值?

如何在多个csv文件中获取每一列的唯一值

如何使用 JQuery 从 JSON 中获取多个唯一值?

Pandas groupby用于一列中的多个值

如何在 df 列中获取唯一值?

如何获取列中唯一值的表计数

如何从Excel VBA的列中获取唯一值列表?

如何从SQL Server中的特定列获取唯一值?

如何从数组PostgreSQL的列中获取唯一值

如何使用 Pandas 打印组中列的唯一值?

如何在Excel的列中获取唯一/唯一值?

Pandas - 在多个数据框中的同一列中查找唯一值

如何从数组中获取唯一值?

Pandas 基于另一列 python 获取一列中的唯一值

Pandas groupby 并在数据框中获取多列的唯一性

对唯一列值进行分组以获取 Pandas 数据框列中每个唯一值的平均值

如何将唯一的行值合并到多个列中的单个列中?

如何在Google表格中获取列中的唯一值,包括具有多个用逗号分隔的值的单元格?

如何获取熊猫中每对唯一的一对列的列值的频率计数?

从Pandas Dataframe的多个列中获取唯一的字符串

如何在熊猫数据框中的所有列中获取唯一值

如何在 Pandas 列中对唯一名称使用 groupby 和 cumcount

如何在pyspark数据框中获取列的唯一值并存储为新列

如何根据第 2 列条件获取第 1 列中的唯一值

如何从熊猫数据框的多个列中获取唯一信息?

获取多列的唯一值作为pandas中的新数据框

列中有列表对象时获取pandas Dataframe中唯一值的计数

如何从列表中获取方括号中的唯一值