根据 Pandas 中的日期选择对 1 列求和
Sum 1 column based from date selection in Pandas
我正在尝试找出一种方法来在一行中完成此求和,或者无需在内存中创建另一个数据帧。
我有一个包含 3 列的 DF。 ['DateCreated'、'InvoiceNumber'、'InvoiceAmount']
我正在尝试对特定日期范围内的发票金额求和。
我有这个工作,但我想这样做而不必创建 DF 然后对列求和。感谢任何帮助。
yesterday_sales_df = df[(df['DateCreated'] > yesterday_date) & (df['DateCreated'] < tomorrow_date)]
yesterday_sales_total = yesterday_sales_df['InvoiceAmount'].sum()
print(yesterday_sales_total)
谢谢
你可以试试loc
yesterday_sales_total = df.loc[(df['DateCreated'] > yesterday_date) & (df['DateCreated'] < tomorrow_date), 'InvoiceAmount'].sum()
你也可以用这个
# filter df with query
yesterday_sales_total = df.query("@yesterday_date < DateCreated < @tomorrow_date")['InvoiceAmount'].sum()
尝试between
:
sales_total = df[df['DateCreated'].between(yesterday_date, tomorrow_date)]['InvoiceAmount'].sum()
如果需要设置inclusive
参数(默认包含='both')
我正在尝试找出一种方法来在一行中完成此求和,或者无需在内存中创建另一个数据帧。
我有一个包含 3 列的 DF。 ['DateCreated'、'InvoiceNumber'、'InvoiceAmount']
我正在尝试对特定日期范围内的发票金额求和。
我有这个工作,但我想这样做而不必创建 DF 然后对列求和。感谢任何帮助。
yesterday_sales_df = df[(df['DateCreated'] > yesterday_date) & (df['DateCreated'] < tomorrow_date)]
yesterday_sales_total = yesterday_sales_df['InvoiceAmount'].sum()
print(yesterday_sales_total)
谢谢
你可以试试loc
yesterday_sales_total = df.loc[(df['DateCreated'] > yesterday_date) & (df['DateCreated'] < tomorrow_date), 'InvoiceAmount'].sum()
你也可以用这个
# filter df with query
yesterday_sales_total = df.query("@yesterday_date < DateCreated < @tomorrow_date")['InvoiceAmount'].sum()
尝试between
:
sales_total = df[df['DateCreated'].between(yesterday_date, tomorrow_date)]['InvoiceAmount'].sum()
如果需要设置inclusive
参数(默认包含='both')