gpt4 book ai didi

python - 如果值小于 Pandas 数据框系列中的先前值

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:22 28 4
gpt4 key购买 nike

这是从日期中提取日期后我的数据框的样子(见最后一列):

        Date       AAPL      NFLX       INTC  day
0 2008-01-02 27.834286 3.764286 25.350000 2
1 2008-01-03 27.847143 3.724286 24.670000 3
2 2008-01-04 25.721428 3.515714 22.670000 4
3 2008-01-07 25.377142 3.554286 22.879999 7
4 2008-01-08 24.464285 3.328571 22.260000 8

对于我的下一步,如果当前日期 < 前一天,我想附加另一个名为“Month_End”的列,并带有真/假标记。这一步是识别月末。这个怎么做?非常感谢。

到目前为止,我已经尝试过以下方法(我是菜鸟,刚开始使用 python)

for i, row in df.iterrows():
if df.day.iloc[i+1] < df.day.iloc[i]:
print (df['day'])

df.assign(Month_End = df.day.diff() < 0)
print(df.head())

最佳答案

您可以直接将日期与 MonthEnd 进行比较,看看它是否为 True

from pandas import offsets
df['Month_End'] = df.Date == df.Date+offsets.MonthEnd(0)

例子:

df:

        Date       AAPL      NFLX       INTC  day
0 2008-01-02 27.834286 3.764286 25.350000 2
1 2008-01-03 27.847143 3.724286 24.670000 3
2 2008-01-04 25.721428 3.515714 22.670000 4
3 2008-01-07 25.377142 3.554286 22.879999 7
4 2008-01-08 24.464285 3.328571 22.260000 8
5 2008-01-31 24.464285 3.328571 22.260000 31
6 2008-02-28 24.464285 3.328571 22.260000 28
7 2008-02-29 24.464285 3.328571 22.260000 29
8 2009-02-28 24.464285 3.328571 22.260000 28

from pandas import offsets
df.Date == df.Date + offsets.MonthEnd(0)

0 False
1 False
2 False
3 False
4 False
5 True
6 False
7 True
8 True
Name: Date, dtype: bool

关于python - 如果值小于 Pandas 数据框系列中的先前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50975313/

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