根据 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')