python - Pandas python用空组初始化groupby对象

标签 python csv pandas

我有一个大数据框。我想对数据框中的三列进行分组,然后对每个组应用一个函数。但是,我也对一些不在数据框中的组和键感兴趣。我如何将它们添加到 groupby 对象,以便我可以对所有组统一使用 groupby.apply()

最佳答案

我想我可能会在事后重建索引:

In [11]: df = pd.DataFrame([[1, 2, 3], [2, 1, 6], [2, 2, 9]], columns=['A', 'B', 'C'])

In [12]: s = df.groupby(['A', 'B']).sum()

In [13]: s
Out[13]:
     C
A B
1 2  3
2 1  6
  2  9

例如,这里的 s 没有 (1, 1) 的结果。我们可以使用 MultiIndex.from_product 输入“总”索引(或者如果你有独立的,输入那个):

In [14]: m = pd.MultiIndex.from_product([[1, 2], [1, 2]], names=['A', 'B'])

In [15]: s.reindex(m)
Out[15]:
      C
A B
1 1 NaN
  2   3
2 1   6
  2   9

关于python - Pandas python用空组初始化groupby对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25656564/

相关文章:

python - 如何在python中用 celery 清除特定队列的所有任务?

python - 为什么我不能用 ipython 访问 Django 的 shell 中的导入函数?

python - 将刻度线置于热图行的中心

php - 通过 fopen/fwrite 使用 PHP 创建 CSV 文件,但也向其写入标题

python - 根据条件删除列表的重复项

python - 如何在也有字符串的列数据框中保留数字?

python - pandas - 将一列复制到另一列而不有效覆盖

java - 通过 url 读取 csv 文件时,我想将列名称与数据映射

json - 使用 jq 从 CSV 创建数组的哈希值

python - Pandas DataFrame 上的条件逻辑