![](/img/trans.png)
[英]Pandas groupby conditional to find mean of timedelta column
[英]Pandas GroupBy list values in a column of lists and find their mean
我有一个大的 pandas dataframe (1M 行),格式如下:
data = {
'names': {0: ['Lily', 'Kerry', 'Mona'], 1: ['Kerry', 'Mona'], 2: ['Mona']},
'sentiment': {0: 10, 1: 2, 2: 0}
}
df = pd.DataFrame(data)
df
names sentiment
0 [Lily, Kerry, Mona] 10
1 [Kerry, Mona] 2
2 [Mona] 0
我想计算名称列中每个唯一名称的平均情绪,结果如下:
names sentiment
0 Lily 10
1 Kerry 6
2 Mona 4
唯一名称的数量非常长,因此效率很重要
这需要首先在“名称”列上展开,然后是标准GroupBy.mean()
:
df.explode('names').groupby('names', as_index=False, sort=False).mean()
names sentiment
0 Lily 10
1 Kerry 6
2 Mona 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.