2024-05-17 12:46:50 发布
网友
我正在试图对datetime64[ns]类型的列运行fillna。当我运行类似于: df['date'].fillna(datetime("2000-01-01"))
fillna
df['date'].fillna(datetime("2000-01-01"))
我得到: TypeError: an integer is required
TypeError: an integer is required
有办法吗?
这应该在0.12和0.13(刚刚发布)中有效。
@DSM指出,日期时间的构造方式如下:datetime.datetime(2012,1,1) 因此,错误在于未能构造要传递给fillna的值。 注意,使用Timestamp将解析字符串。
datetime.datetime(2012,1,1)
Timestamp
In [3]: s = Series(date_range('20130101',periods=10)) In [4]: s.iloc[3] = pd.NaT In [5]: s.iloc[7] = pd.NaT In [6]: s Out[6]: 0 2013-01-01 00:00:00 1 2013-01-02 00:00:00 2 2013-01-03 00:00:00 3 NaT 4 2013-01-05 00:00:00 5 2013-01-06 00:00:00 6 2013-01-07 00:00:00 7 NaT 8 2013-01-09 00:00:00 9 2013-01-10 00:00:00 dtype: datetime64[ns]
datetime.datetime也会起作用
datetime.datetime
In [7]: s.fillna(Timestamp('20120101')) Out[7]: 0 2013-01-01 00:00:00 1 2013-01-02 00:00:00 2 2013-01-03 00:00:00 3 2012-01-01 00:00:00 4 2013-01-05 00:00:00 5 2013-01-06 00:00:00 6 2013-01-07 00:00:00 7 2012-01-01 00:00:00 8 2013-01-09 00:00:00 9 2013-01-10 00:00:00 dtype: datetime64[ns]
这应该在0.12和0.13(刚刚发布)中有效。
@DSM指出,日期时间的构造方式如下:
datetime.datetime(2012,1,1)
因此,错误在于未能构造要传递给fillna
的值。 注意,使用Timestamp
将解析字符串。datetime.datetime
也会起作用相关问题 更多 >
编程相关推荐