python pandas .asfreq() 函数返回 NaN
python pandas .asfreq() function giving back NaN
所以我试图将我的数据从每月一次的频率更改为更好的情节。我的代码是:
ice_cream_interest = pd.read_excel('book1.xlsx')
ice_cream_interest.set_index('Month', inplace= True)
ice_cream_interest = ice_cream_interest.asfreq(pd.infer_freq(ice_cream_interest.index))
加上ice_cream_interest本身的数据是这样的:
Month interest
0 2004-01 20
1 2004-02 21
2 2004-03 22
3 2004-04 25
4 2004-05 29
但是在我 运行 我的代码之后,它给出了:
interest
Month
2004-01-01 NaN
2004-02-01 NaN
2004-03-01 NaN
2004-04-01 NaN
2004-05-01 NaN
所以我想知道为什么 asfreq 返回 NaN,以及如何解决它。谢谢!
asfreq
文档指定:
The values corresponding to any timesteps in the new index which were
not present in the original index will be null (NaN), unless a method
for filling such unknowns is provided (see the method parameter
below).
当您从月期间更改为月的第一天时,您更改了索引并丢失了所有数据。
如果您需要重新采样,请使用 resample
方法。
但是,在这里您可以将月份转换为日期:
ice_cream_interest = (ice_cream_interest
.assign(Date=lambda d: pd.to_datetime(d['Month']))
.set_index('Date')
.drop(columns='Month')
)
输出:
interest
Date
2004-01-01 20
2004-02-01 21
2004-03-01 22
2004-04-01 25
2004-05-01 29
所以我试图将我的数据从每月一次的频率更改为更好的情节。我的代码是:
ice_cream_interest = pd.read_excel('book1.xlsx')
ice_cream_interest.set_index('Month', inplace= True)
ice_cream_interest = ice_cream_interest.asfreq(pd.infer_freq(ice_cream_interest.index))
加上ice_cream_interest本身的数据是这样的:
Month interest
0 2004-01 20
1 2004-02 21
2 2004-03 22
3 2004-04 25
4 2004-05 29
但是在我 运行 我的代码之后,它给出了:
interest
Month
2004-01-01 NaN
2004-02-01 NaN
2004-03-01 NaN
2004-04-01 NaN
2004-05-01 NaN
所以我想知道为什么 asfreq 返回 NaN,以及如何解决它。谢谢!
asfreq
文档指定:
The values corresponding to any timesteps in the new index which were not present in the original index will be null (NaN), unless a method for filling such unknowns is provided (see the method parameter below).
当您从月期间更改为月的第一天时,您更改了索引并丢失了所有数据。
如果您需要重新采样,请使用 resample
方法。
但是,在这里您可以将月份转换为日期:
ice_cream_interest = (ice_cream_interest
.assign(Date=lambda d: pd.to_datetime(d['Month']))
.set_index('Date')
.drop(columns='Month')
)
输出:
interest
Date
2004-01-01 20
2004-02-01 21
2004-03-01 22
2004-04-01 25
2004-05-01 29