我该如何获取一行日期并按月份进行筛选,然后添加每个月的总销售额?
此代码试图在一月份执行。

df['Release Date'] = pd.to_datetime(df['Release Date'])
print(df.loc[df['Release Date'].dt.month == 1][df['Tickets Sold'].sum())

df['Release Date'] = pd.to_datetime(df['Release Date'])
print(df.loc[df['Release Date'].dt.month == 1][df['Tickets Sold'].sum())

0 1000卢比纸币。。。二百七十七
克洛弗菲尔德大街110号。。。八百三十三万三千二百九十四
2 13小时:班加西的秘密士兵。。。六百一十一万零一百九十八
3条2016奥斯卡短片。。。三十二万五千六百四十三
4个20世纪的女人。。。二万零六百四十四
试着把每个月的售票总数加起来。

最佳答案

所以你想得到每个月的总数。你是不是也在试着用这些总数做些什么?
愚蠢的数据:

import pandas as pd
import numpy as np

# dummy data
date_range = pd.date_range('2019-01-01', '2019-03-31', freq='D')
df = pd.DataFrame(
    np.random.randint(1, 20, (date_range.shape[0], 1)),
    index=date_range,
    columns=['Tickets Sold'])
df['Release Date'] = df.index
df.reset_index(inplace=True, drop=True)

>>> print(df.head())
   Tickets Sold Release Date
0            15   2019-01-01
1             7   2019-01-02
2             5   2019-01-03
3             5   2019-01-04
4            19   2019-01-05

要得到总数,只需将Release Date列设为index并每月使用resample
# set column release date as index and resample.
df.set_index('Release Date', inplace=True)

>>> print(df.resample('M').sum())
              Tickets Sold
Release Date
2019-01-31             305
2019-02-28             278
2019-03-31             322

关于python - 如何按日期排序,然后按日期添加另一列的总数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55930616/

10-12 16:31