我試圖找出一種方法來在一行中完成這個總和,或者不必在記憶體中創建另一個資料幀。
我有一個 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)
謝謝
uj5u.com熱心網友回復:
你可以試試loc
yesterday_sales_total = df.loc[(df['DateCreated'] > yesterday_date) & (df['DateCreated'] < tomorrow_date), 'InvoiceAmount'].sum()
uj5u.com熱心網友回復:
你也可以使用這個
# filter df with query
yesterday_sales_total = df.query("@yesterday_date < DateCreated < @tomorrow_date")['InvoiceAmount'].sum()
uj5u.com熱心網友回復:
嘗試between:
sales_total = df[df['DateCreated'].between(yesterday_date, tomorrow_date)]['InvoiceAmount'].sum()
如果它是必要的設定inclusive引數(默認情況下包含='both')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/479725.html
標籤:Python python-3.x 熊猫 数据框
