pandas 获取作为 groupby 列表的列的平均长度
pandas get the mean len of columns that is a list in groupby
我有一个数据框:
df = c l
A [1,2,3]
A [1,2,3,4]
B [1]
我想获得每组 c
列 l
的平均长度(和标准差)。
所以这里的输出将是:
答:3.5
B : 1
最好的方法是什么?
使用 Series.str.len
和聚合 mean
:
s = df['l'].str.len().groupby(df['c']).mean()
print (s)
c
A 3.5
B 1.0
Name: l, dtype: float64
或聚合多个函数:
df = df['l'].str.len().groupby(df['c']).agg(['mean','std'])
print (df)
mean std
c
A 3.5 0.707107
B 1.0 NaN
我有一个数据框:
df = c l
A [1,2,3]
A [1,2,3,4]
B [1]
我想获得每组 c
列 l
的平均长度(和标准差)。
所以这里的输出将是:
答:3.5
B : 1
最好的方法是什么?
使用 Series.str.len
和聚合 mean
:
s = df['l'].str.len().groupby(df['c']).mean()
print (s)
c
A 3.5
B 1.0
Name: l, dtype: float64
或聚合多个函数:
df = df['l'].str.len().groupby(df['c']).agg(['mean','std'])
print (df)
mean std
c
A 3.5 0.707107
B 1.0 NaN