Houchard 2021-11-25 15:01 采纳率: 50%
浏览 112
已结题

pandas转换object为int失败了,有人能解答吗

用pandas创建了一个dataframe,第1,2,3列是数字,第4列是字符串。dataframe自动将所有列都转换成了object属性。

import numpy as np
import pandas as pd
mytype =['A','B','C']
data1 = np.random.randint(0,10,(20,3))
data2 = np.random.choice(mytype,(20,1))
data = np.hstack((data1,data2))
df = pd.DataFrame(data,columns=['a','b','c','type'])

dtype: object
a object
b object
c object
type object
dtype: object

img

我想让前三列保持int类型,该怎么操作?
查阅了相关文档,使用的infer_object可以转换,但是我这里并没有实现成功,不知道为什么。

img

import numpy as np
import pandas as pd
mytype =['A','B','C']
data1 = np.random.randint(0,10,(20,3))
data2 = np.random.choice(mytype,(20,1))
data = np.hstack((data1,data2))
df = pd.DataFrame(data,columns=['a','b','c','type'])
print(df.dtypes)
df.infer_objects()
print(df.dtypes)
print(df)

img

  • 写回答

2条回答 默认 最新

  • 此人真菜 2021-11-25 15:18
    关注
    
    df['a','b','c']=df['a','b','c'].astype('int64')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件