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