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


df['a','b','c']=df['a','b','c'].astype('int64')

astype('int')