更改Pandas中列的數據類型我希望將表(表示為列表)轉換為Pandas DataFrame。作為一個非常簡單的例子:a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']]df = pd.DataFrame(a)將列轉換為適當類型的最佳方法是什么?在本例中,列2和3轉換為浮點數?是否有方法在轉換到DataFrame時指定類型?還是最好先創建DataFrame,然后遍歷列以更改每個列的類型?理想情況下,我希望以一種動態的方式這樣做,因為可以有數百個列,而且我不想確切地指定哪一種列是哪種類型的。我所能保證的是,每個列都包含相同類型的值。
3 回答

一只斗牛犬
TA貢獻1784條經驗 獲得超2個贊
a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']]df = pd.DataFrame(a, columns=['one', 'two', 'three'])dfOut[16]: one two three0 a 1.2 4.21 b 70 0.032 x 5 0df.dtypesOut[17]: one object two object three object df[['two', 'three']] = df[['two', 'three']].astype(float)df.dtypesOut[19]: one object two float64 three float64

慕森王
TA貢獻1777條經驗 獲得超3個贊
df[['col.name1', 'col.name2'...]] = df[['col.name1', 'col.name2'..]].astype('data_type')
添加回答
舉報
0/150
提交
取消