簡體   English   中英

重新采樣pandas數據幀正在刪除列

[英]Resampling pandas dataframe is deleting column

                    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'欄會消失? 所有其他專欄似乎也搞砸了。 請參閱線性插入pandas數據幀中的缺失行,以獲取數據幀來源的說明。

--EDIT基於@ 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文件完整地在這里:

https://www.dropbox.com/s/dp76hk6yfs6c1og/test.csv?dl=0

由於某種原因, Val列可能沒有數字dtype,並且在resample中刪除所有非數字(例如, object dtype)列。

要查看,請查看df.info()
要將其轉換為數值列,你可以使用astype(float)convert_objectspd.to_numeric從v0.17開始)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM