将自定义函数应用于groupby panda



我知道关于如何在panda中使用groupby的自定义函数有一些问题/答案,但我的情况略有不同。

我的数据是

group_col       val_col
0         a    [1, 2, 34]
1         a        [2, 4]
2         b  [2, 3, 4, 5]
data = {'group_col': {0: 'a', 1: 'a', 2: 'b'}, 'val_col': {0: [1, 2, 34], 1: [2, 4], 2: [2, 3, 4, 5]}}
df = pd.DataFrame(data)

我想做的是按group_col进行分组,然后在val_col中为每组汇总列表的长度。我的愿望输出是

a     5
b     4

我想知道我能在熊猫身上做到这一点吗?

您可以尝试

df['val_col'].str.len().groupby(df['group_col']).sum()
df.groupby('group_col')['val_col'].sum().str.len()

输出:

group_col
a    5
b    4
Name: val_col, dtype: int64

最新更新