python - Pandas 数据框groupby创建列的列表或数组

标签 python pandas dataframe pandas-groupby

import pandas as pd
import numpy as np

df = {'a': ['aa', 'aa', 'aa', 'aaa', 'aaa'], 
      'b':['bb', 'bb', 'bb', 'bbb', 'bbb'], 
      'c':[10,20,30,100,200]}

df = pd.DataFrame(data=df)

my_dict=df.groupby(['a', 'b'])['c'].apply(np.hstack).to_dict()
给出以下字典
>>> my_dict
{('aa', 'bb'): array([10, 20, 30]), ('aaa', 'bbb'): array([100, 200])}
除了使用apply之外,还有其他更快/有效的方法吗?

最佳答案

使用字典理解:

my_dict= {k:np.hstack(v) for k, v in df.groupby(['a', 'b'])['c']}
print (my_dict)
{('aa', 'bb'): array([10, 20, 30]), ('aaa', 'bbb'): array([100, 200])}

关于python - Pandas 数据框groupby创建列的列表或数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63934714/

相关文章:

python - 如何展平/分割数组元组并计算 Polars 数据框中的列平均值?

python - 取消聚合 Pandas 中的字符串值字段

python - 当且仅当标题字符串中包含 '20' 时,遍历每个数据帧标题并将 int month 更新为 str month

python - 在 ubuntu 上将 setuptools 从 20.10.1 降级到 18.2

python - 如何评估Word2Vec模型

python - 从 Pandas 数据框中消除特定日期的最快方法

python - 我收到零和​​负日 python 和 pandas csv 文件

r - 将data.frame转换为data.table列丢失

python - Pandas 使用 groupby 并根据各种条件删除重复项

python - 如何在 Pyramid 中使用 SQLAlchemy HSTORE?