Python 如何在数据帧中操作shift函数以跳过行并仅shift选择行

Python 如何在数据帧中操作shift函数以跳过行并仅shift选择行,python,pandas,dataframe,shift,Python,Pandas,Dataframe,Shift,我有过去20年的股市数据。大约有1000万个条目。每个条目都是股票符号、日期和当天股票的收盘价。假设1999年1月1日我有股票A。我试图在现有数据框中添加一列,其中包含2000年1月1日a股收盘价。但是有一个问题,因为2000年1月1日是周末,没有这一天的股票数据。我使用的代码取而代之的是2001年的数据,并将其粘贴到添加的列中。理想情况下,我希望1999年1月1日的条目“A”的新栏只说“n/A”,而不是采用2001年的数据。我不知道该怎么做 我的当前代码使用换档功能,代码如下: df['Fol

我有过去20年的股市数据。大约有1000万个条目。每个条目都是股票符号、日期和当天股票的收盘价。假设1999年1月1日我有股票A。我试图在现有数据框中添加一列,其中包含2000年1月1日a股收盘价。但是有一个问题,因为2000年1月1日是周末,没有这一天的股票数据。我使用的代码取而代之的是2001年的数据,并将其粘贴到添加的列中。理想情况下,我希望1999年1月1日的条目“A”的新栏只说“n/A”,而不是采用2001年的数据。我不知道该怎么做

我的当前代码使用换档功能,代码如下:

df['Following Year Close Price'] = df.groupby(['Symbol'], df['Date'].dt.month, df[Date'].dt.day])['Close'].shify(-1)

欢迎来到堆栈溢出!你的问题不太清楚。提供一个预期输出的示例很有帮助。您好,我想知道为什么您实际上需要为每个日历日期的数据添加一个明确的“n/a”。Pandas开发人员花了大量时间思考由于缺少数据和日历时间序列而产生的问题。如果遵循他们的约定,则可能不需要添加数据。请解释您这样做的原因。我的数据不需要明确的n/a。我只是不希望添加到新列中的数据跳过几年而变得不正确。如果需要添加到新列中的数据不存在,我认为输入“n/a”最有意义,但我对如何解决日历时间序列缺少数据的问题持开放态度。谢谢我的帮助欢迎来到Stack Overflow!你的问题不太清楚。提供一个预期输出的示例很有帮助。您好,我想知道为什么您实际上需要为每个日历日期的数据添加一个明确的“n/a”。Pandas开发人员花了大量时间思考由于缺少数据和日历时间序列而产生的问题。如果遵循他们的约定,则可能不需要添加数据。请解释您这样做的原因。我的数据不需要明确的n/a。我只是不希望添加到新列中的数据跳过几年而变得不正确。如果需要添加到新列中的数据不存在,我认为输入“n/a”最有意义,但我对如何解决日历时间序列缺少数据的问题持开放态度。谢谢你,谢谢你的帮助