加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在datetime对象上的pandas fillna

发布时间:2020-12-20 11:32:55 所属栏目:Python 来源:网络整理
导读:我正在尝试在datetime64 [ns]类型的列上运行fillna.当我运行类似的东西: DF [ ‘日期’].fillna(日期时间( “2000-01-01”)) 我明白了: TypeError:需要一个整数 有什么方法吗? 解决方法 这应该在0.12和0.13(刚刚发布)中工作. @DSM指出日期时间的构造如下
我正在尝试在datetime64 [ns]类型的列上运行fillna.当我运行类似的东西:
DF [ ‘日期’].fillna(日期时间( “2000-01-01”))

我明白了:
TypeError:需要一个整数

有什么方法吗?

解决方法

这应该在0.12和0.13(刚刚发布)中工作.

@DSM指出日期时间的构造如下:datetime.datetime(2012,1,1)
所以错误是由于未能构建您传递给fillna的值.
请注意,使用时间戳会解析字符串.

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也可以

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]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读