gpt4 book ai didi

python - 有没有办法在数据框中打印条件的先前日期时间值?

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:16 25 4
gpt4 key购买 nike

我有一个数据集,其中包含数据时间和值作为每个 ID 的列。我对其进行了一些计算,但在使用递归函数时卡住了。

The dataset looks like this,

Date-Time     Volume      ID    Load  
10/22/2019 3862 10
10/23/2019 3800 10
10/24/2019 3700 10
10/25/2019 5000 10 Yes
10/26/2019 4900 10
10/27/2019 4800 10
10/22/2019 3862 11
10/23/2019 3800 11
10/24/2019 3700 11
10/25/2019 5000 11 Yes
10/26/2019 4900 11
10/27/2019 4800 11

The output i need for load_date is,

Date-Time  Volume  ID  Load    LoadDate
10/22/2019 3862 10 0
10/23/2019 3800 10 0
10/24/2019 3700 10 0
10/25/2019 5000 10 Yes 10/25/2019
10/26/2019 4900 10 10/25/2019
10/27/2019 4800 10 10/25/2019
10/22/2019 3862 11 0
10/23/2019 3800 11 0
10/24/2019 3700 11 0
10/25/2019 5000 11 Yes 10/25/2019
10/26/2019 4900 11 10/25/2019
10/27/2019 4800 11 10/25/2019

最佳答案

国际工业联合会

我们可以在 Yes 值处建立索引,并使用一些索引过滤和 .loc assingment 向前填充任何日期。

idx = df.loc[df['Load'] == 'Yes'].index # get all index values for Yes.
df['LoadDate'] = np.nan # create your col.
df.loc[idx, 'LoadDate'] = df['Date-Time']
分组并创建你的
df['LoadDate'] = (df.groupby('ID')['LoadDate'].ffill()).fillna(0) 
#group by ID and ffill the load date and fill and nan's as 0.
这给我们留下了。
print(df)


Date-Time Volume ID Load LoadDate
0 10/22/2019 3862 10 0
1 10/23/2019 3800 10 0
2 10/24/2019 3700 10 0
3 10/25/2019 5000 10 Yes 10/25/2019
4 10/26/2019 4900 10 10/25/2019
5 10/27/2019 4800 10 10/25/2019
6 10/22/2019 3862 11 0
7 10/23/2019 3800 11 0
8 10/24/2019 3700 11 0
9 10/25/2019 5000 11 Yes 10/25/2019
10 10/26/2019 4900 11 10/25/2019
11 10/27/2019 4800 11 10/25/2019

关于python - 有没有办法在数据框中打印条件的先前日期时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com