python把object转换成int_python – Pandas:将dtype’object’转换为int

在Pandas中,使用pd.to_datetime成功将日期'date'列从object类型转换为datetime,但在尝试将'purchase'列从object转换为int时遇到错误,导致TypeError。astype(int)和astype(float)都失败,而astype(str)对'id'列应用时没有明显效果,数据类型仍显示为object。
摘要由CSDN通过智能技术生成

我已经在Pandas中读取了一个SQL查询,并且这些值以dtype’object’形式出现,尽管它们是字符串,日期和整数.我能够将日期’对象’转换为Pandas datetime dtype,但是在尝试转换字符串和整数时遇到错误.

这是一个例子:

>>> import pandas as pd

>>> df = pd.read_sql_query('select * from my_table', conn)

>>> df

id date purchase

1 abc1 2016-05-22 1

2 abc2 2016-05-29 0

3 abc3 2016-05-22 2

4 abc4 2016-05-22 0

>>> df.dtypes

id object

date object

purchase object

dtype: object

将df [‘date’]转换为datetime有效:

>>> pd.to_datetime(df['date'])

1 2016-05-22

2 2016-05-29

3 2016-05-22

4 2016-05-22

Name: date, dtype: datetime64[ns]

但是在尝试将df [‘purchase’]转换为整数时出错:

>>> df['purchase'].astype(int)

....

pandas/lib.pyx in pandas.lib.astype_intsafe (pand

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值