猿问

训练定制模型

我下面有 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。


人到中年有点甜
浏览 90回答 1
1回答

HUX布斯

你可以做: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   volume0  bottle_a   AX80 2020-09-22  12874.5  12927.75  61023.01  bottle_a   AX80 2020-09-23  12878.5  12926.75  61023.02  bottle_a   AX80 2020-09-24  12872.5  12928.75  61023.03  bottle_a   AX80 2020-09-25  12885.5  12984.25  76519.04  bottle_a   AX80 2020-09-26  12880.0  13000.00  14224.0
随时随地看视频慕课网APP

相关分类

Python
我要回答