我想在中设置dtype
多列的s pd.Dataframe
(我有一个文件必须手动解析为列表列表,因为该文件不适合pd.read_csv
)
import pandas as pd
print pd.DataFrame([['a','1'],['b','2']],
dtype={'x':'object','y':'int'},
columns=['x','y'])
我懂了
ValueError: entry not a 2- or 3- tuple
我可以设置它们的唯一方法是循环遍历每个列变量并使用进行重铸astype
。
dtypes = {'x':'object','y':'int'}
mydata = pd.DataFrame([['a','1'],['b','2']],
columns=['x','y'])
for c in mydata.columns:
mydata[c] = mydata[c].astype(dtypes[c])
print mydata['y'].dtype #=> int64
有没有更好的办法?
df = pd.DataFrame([['a','1'],['b','2']], dtype='int', columns=['x','y'])
“有效” ...但:s