在pandas groupby输出中包含特定列

Ashita Ramteke:

下面的数据框为我提供了以下结果,其中我对前四个执行“ source_id”的结果进行了过滤

df= highestrevenue.loc[highestrevenue['source_id'].isin(['PA0202','PA0057','PA0873','PA0678'])]
print(df)


           date source_id    cost  revenue
 3322 2014-01-11    PA0202  9637.0  12000.0
3176 2014-01-17    PA0057  1691.0  11999.0
4748 2014-10-14    PA0873  8376.0  11995.0
752  2014-05-30    PA0678  9739.0  11992.0
5442 2014-02-13    PA0202  4157.0  11954.0
...         ...       ...     ...      ...
9800 2014-02-09    PA0873   989.0      NaN
9855 2014-06-20    PA0873  6407.0      NaN
9857 2014-03-01    PA0202  7104.0      NaN
9897 2014-07-14    PA0057  7231.0      NaN
9946 2014-01-08    PA0057  2308.0      NaN

[789 rows x 4 columns]

我希望日期列以月份为单位,这样我就可以得出每个月的总收入

df_plot.groupby(df_plot['date'].dt.strftime('%B'))['revenue'].sum().sort_values()

那给我

 date
February     123702.0
April        136110.0
July         145350.0
March        178350.0
October      199992.0
September    203631.0
December     204183.0
January      209337.0
August       231515.0
November     233001.0
May          267656.0
June         277374.0

但是,我想要3列,分别是按月的日期,Revenue和source_id(4),以便进一步制作线形图,其中x轴为月份,y轴为收入,其中4根线显示了4个源ID

现在,我如何获得上述数据框中的第三列,即source_id ???

预期输出数据帧为

date  Revenue  source_id
cs95:

您必须对日期和ID进行分组:

(df_plot.groupby([df_plot['date'].dt.strftime('%B'), 'source_id'])['revenue']
        .sum()
        .sort_index())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

需要在Pandas groupby中以特定格式输出

pandas groupby在最终结果中包含一列

筛选NaN行以在Pandas中包含特定字符列

如果行在Pandas中包含特定值,则删除列

结果中的“ Pandas Groupby”列

Pandas 中 groupby 列的 timedeltas

在 groupby pandas 中对包含此列值的每个列值和其他列值求和

Pandas Groupby聚合功能用于特定列,显示结果中的所有列

如果任何特定列包含特定值,则删除 pandas 数据框中的行

比较 Pandas 中 groupby 对象中的列

如何基于pandas中的groupby函数将数据框中的特定列转换为字典?

使用groupby对pandas中的特定条件计算列中的值数

计算 Pandas 数据帧中多列的特定单词,按列分组的输出

使用 pandas 的 groupby 和 agg 合并包含字典的列

在Pandas中查找列名,该列名在另一列的行中包含特定值

Pandas GroupBy并选择特定列中具有最小值的行

汇总Pandas Groupby中的一列

在Pandas中过滤多列groupby结果

在Pandas DataFrame中以逗号连接groupby列

如何在pandas groupby中输出大量直方图

Python Pandas Groupby在输出中具有“小计”值?

如何使用数组中的特定列将Pandas数据输出到JSON

特定的pandas列作为df.apply输出的新列中的参数

删除groupby中不包含元素的组(Python Pandas)

如果包含特定子字符串,则替换基于 Pandas 数据帧中的列值

如何删除Pandas数据框中具有仅包含数字的特定列的行?

从pandas DataFrame中删除名称包含特定字符串的列

从pandas DataFrame中删除名称包含特定字符串的列

删除pandas数据框中包含特定值的列和行