ฉันต้องการตั้งค่า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
มีวิธีที่ดีกว่า?