获取具有条件的数据帧的下一行

2024-10-05 15:26:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过设置一个条件从数据帧中提取下一行值

我得到了这个数据框:
在:
df = pd.DataFrame.from_csv(file_path) df['Stock Name'] = stock_symbol print(df.head()) df = df.reset_index()
输出:

Date   Open    High      Low     ...      Adj Close   Volume  Stock Name                                     ...
1996-12-12 1.81250 1.8125 1.68750 ... 0.743409 1984400 CALM 1996-12-13 1.71875 1.8125 1.65625 ... 0.777510 996800 CALM 1996-12-16 1.81250 1.8125 1.71875 ... 0.750229 122000 CALM 1996-12-17 1.75000 1.8125 1.75000 ... 0.774094 239200 CALM 1996-12-18 1.81250 1.8125 1.75000 ... 0.791151 216400 CALM

我现在得到了这个密码:
在:
data_from_yahoo=df.loc[df['Date'] == ddate] data_from_yahoo_next_day=df.loc[df['Date'] == ddate].shift(1) print(data_from_yahoo) print(data_from_yahoo_next_day)
输出:

Date       Open  High     ...      Adj Close  Volume  Stock Name
5610 2019-04-01  46.700001  47.0     ...      42.987827  846900        CALM
Date  Open  High  Low  Close  Adj Close  Volume Stock Name
5610  NaT   NaN   NaN  NaN    NaN        NaN     NaN        NaN

现在我想得到“datafromyahoo”行后面的行,在本例中,它将是第5611行。 我认为问题出在data_from_yahoo_next_day=df.loc[df['Date'] == ddate].shift(1)


Tags: namefromdfclosedatadatestockopen