Val ts year doy interpolat region_id
2000-02-18 NaN 950832000 2000 49 NaN 19987
2000-03-05 NaN 952214400 2000 65 NaN 19987
2000-03-21 NaN 953596800 2000 81 NaN 19987
2000-04-06 0.402539365 954979200 2000 97 NaN 19987
2000-04-22 0.54021746 956361600 2000 113 NaN 19987
上述数据框有一个日期时间索引。我像这样重新取样:
df = df.resample('D')
但是,此重新采样会产生此数据帧:
ts year doy interpolat region_id
2000-01-01 1199180160 2008 1 1 19990
2000-01-02 NaN NaN NaN NaN NaN
2000-01-03 NaN NaN NaN NaN NaN
2000-01-04 NaN NaN NaN NaN NaN
2000-01-05 NaN NaN NaN NaN NaN
为什么'Val'栏会消失?所有其他专栏似乎也搞砸了。有关数据帧来源的说明,请参阅Linearly interpolate missing rows in pandas dataframe。
- 编辑 基于@ unutbu的问题:
df.reset_index().to_dict('list')
{'index': [Timestamp('2000-02-18 00:00:00'), Timestamp('2000-03-05 00:00:00'), Timestamp('2000-03-21 00:00:00'), ... '0.670709965', '0.631584375', '0.562112815', '0.50740686', '0.4447712', '0.47880806', nan, nan]}
- 编辑:完整上述数据框的csv文件位于:
答案 0 :(得分:9)
由于某些原因,Val
列可能没有数字dtype,并且object
中删除了所有非数字(例如resample
dtype)列。
要查看,请查看df.info()
要将其转换为数字列,您可以使用astype(float)
或convert_objects
(从{v0.17开始的pd.to_numeric
)。