如何用 Pandas 中的一系列数字减去日期时间索引?
How to substract datetime index by a series of numbers in Pandas?
我有一个类似于下面的 DataFrame,我想用 Day_Count 列中的数字减去 DateTimeIndex。
import pandas as pd
x = pd.DataFrame(np.arange(1,14), index = pd.date_range('2020-01-01', periods = 13, freq= 'D'), columns = ['Day_Count'])
Day_Count
2020-01-01 1
2020-01-02 2
2020-01-03 3
2020-01-04 4
2020-01-05 5
2020-01-06 6
2020-01-07 7
2020-01-08 8
2020-01-09 9
2020-01-10 10
2020-01-11 11
2020-01-12 12
2020-01-13 13
因此,预期结果应具有与 2019-12-31 相同的 DateTimeIndex(例如,2020-01-01 减去 1 天,2020-01-02 减去 2 天,依此类推)。我尝试了以下代码,但它不起作用。
from dateutil.relativedelta import relativedelta
x.index = x.index - relativedelta(days = x.Day_Count)
请帮忙解决这个问题。提前谢谢你。
试试这个代码,看看它是否给出了预期的结果。
df.index = df.index - pd.to_timedelta(df['Day_Count'],unit='day')
我有一个类似于下面的 DataFrame,我想用 Day_Count 列中的数字减去 DateTimeIndex。
import pandas as pd
x = pd.DataFrame(np.arange(1,14), index = pd.date_range('2020-01-01', periods = 13, freq= 'D'), columns = ['Day_Count'])
Day_Count
2020-01-01 1
2020-01-02 2
2020-01-03 3
2020-01-04 4
2020-01-05 5
2020-01-06 6
2020-01-07 7
2020-01-08 8
2020-01-09 9
2020-01-10 10
2020-01-11 11
2020-01-12 12
2020-01-13 13
因此,预期结果应具有与 2019-12-31 相同的 DateTimeIndex(例如,2020-01-01 减去 1 天,2020-01-02 减去 2 天,依此类推)。我尝试了以下代码,但它不起作用。
from dateutil.relativedelta import relativedelta
x.index = x.index - relativedelta(days = x.Day_Count)
请帮忙解决这个问题。提前谢谢你。
试试这个代码,看看它是否给出了预期的结果。
df.index = df.index - pd.to_timedelta(df['Day_Count'],unit='day')