我下面有 python 中的 panda 數據框。full_name serial Date_YMD prc1 prc2 volume bottle_a AX80 20200922 12874.50 12927.75 61023.0 bottle_a AX80 20200923 12878.50 12926.75 61023.0 bottle_a AX80 20200924 12872.50 12928.75 61023.0 bottle_a AX80 20200925 12885.50 12984.25 62295.0 bottle_a AX80 20200926 12880.00 13000.00 14224.0我想根據 Date_YMD 列檢測哪一行屬于星期六。volume將本周六和前一天(周五)的值相加volume,然后將總和分配給周五的volume。最終的數據框看起來像這樣;full_name serial Date_YMD prc1 prc2 volume bottle_a AX80 20200922 12874.50 12927.75 61023.0 bottle_a AX80 20200923 12878.50 12926.75 61023.0 bottle_a AX80 20200924 12872.50 12928.75 61023.0 bottle_a AX80 20200925 12885.50 12984.25 76519.0 bottle_a AX80 20200926 12880.00 13000.00 14224.0 我正在使用 python 3.8。
1 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
你可以做:
df['Date_YMD'] = pd.to_datetime(df['Date_YMD'], format='%Y%m%d')
m = df['Date_YMD'].shift(-1).dt.weekday.eq(5)
df.loc[m, 'volume'] += df['volume'].shift(-1)
full_name serial Date_YMD prc1 prc2 volume
0 bottle_a AX80 2020-09-22 12874.5 12927.75 61023.0
1 bottle_a AX80 2020-09-23 12878.5 12926.75 61023.0
2 bottle_a AX80 2020-09-24 12872.5 12928.75 61023.0
3 bottle_a AX80 2020-09-25 12885.5 12984.25 76519.0
4 bottle_a AX80 2020-09-26 12880.0 13000.00 14224.0
添加回答
舉報
0/150
提交
取消