python - 如何按值分组但保持数据结构?

标签 python python-3.x pandas pandas-groupby

我有一个数据集,其中包含销售系统的单位(商店)列表,其中包含每周的销售额和单位。我已将它们分组为测试组和对照组作为新列。

我现在想做的是在数据集中使用这些新组,因为我想在所有周内将它们相互绘制。

到目前为止,我在这方面的最佳表现是: df_group = df.groupby('Group')['Sales'].sum() 然而,这只是将它们全部加起来而不是每周。

   Unit  Year  Week System_Type   Sales  Units_Sold
0  6111  2019     1  Component2  109578        3139
1  6111  2019     1  Component1   20792         639
2  6111  2019     2  Component2  115363        3425
3  6111  2019     2  Component1   25261         796
4  6111  2019     3  Component2  114913        3352

df['Group'] = np.where(((df['Unit'] == 6111) | (df['Unit'] == 6112) | (df['Unit'] == 6121)), 'control', 'test')
df.head()
    Unit    Year    Week    System_Type Sales   Units_Sold  Group
0   6111    2019    1   Component2  109578  3139    control
1   6111    2019    1   Component1  20792   639 control
2   6111    2019    2   Component2  115363  3425    control
3   6111    2019    2   Component1  25261   796 control
4   6111    2019    3   Component2  114913  3352    control

time = df.Week.unique()

df_cat = df[df.System_Type == 'Component1']

我已经研究了一段时间,但无法通过谷歌找到正确的解决方案。我在想也许可以使用“时间”变量作为新索引?

非常感谢任何帮助!

最佳答案

来玩吧

import pandas as pd

df = pd.read_table('c:/4/AAA.txt', sep=',')
df.head(10)

df.groupby(['Week','Sales']).sum().sort_values('Sales')
df[(df['Sales']>30000)&(df['Year']==2019)].sort_values('Sales')
df[df['System_Type']=='Component2'].groupby('Sales').filter(lambda x: len(x)<2500).groupby('Sales').size().to_frame('size').sort_values('size')

关于python - 如何按值分组但保持数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55457194/

相关文章:

python - opencv 3 beta/python 中的 findContours 和 drawContours 错误

python - 计算低于阈值的列表值的最快方法

python - 如何以优雅且安全(关于Python模块重新加载)的方式使用super()?

python - 使用一对多字典替换或映射 pandas 数据框列中的值

python-3.x - 重新采样 pandas 数据框并用零填充新行

python - 如何使用 pandas 创建新的 df 列以使用正则表达式获取列名称和值?

python - 在我的项目中打包安装文件时出现问题

Python:如何将 '-help' 添加到 argparse 帮助命令列表?

python-3.x - Visual Studio Code : highlighted imports in python

python-3.x - 使用 Pytorch Lightning DDP 时记录事情的正确方法