用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
我想让前三列保持int类型,该怎么操作?
查阅了相关文档,使用的infer_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'])
print(df.dtypes)
df.infer_objects()
print(df.dtypes)
print(df)