更改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
提交
取消