Tôi muốn đặt dtype
nhiều cột trong đó pd.Dataframe
(tôi có một tệp mà tôi phải phân tích cú pháp theo cách thủ công thành danh sách các danh sách, vì tệp không thể sửa được pd.read_csv
)
import pandas as pd
print pd.DataFrame([['a','1'],['b','2']],
dtype={'x':'object','y':'int'},
columns=['x','y'])
tôi có
ValueError: entry not a 2- or 3- tuple
Cách duy nhất tôi có thể đặt chúng là bằng cách lặp qua từng biến cột và đọc lại với 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
Có cách nào tốt hơn?
df = pd.DataFrame([['a','1'],['b','2']], dtype='int', columns=['x','y'])
"tác phẩm" ... nhưng: s