猿问

更改Pandas中列的数据类型

更改Pandas中列的数据类型

我希望将表(表示为列表)转换为Pandas DataFrame。作为一个非常简单的例子:

a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']]df = pd.DataFrame(a)

将列转换为适当类型的最佳方法是什么?在本例中,列2和3转换为浮点数?是否有方法在转换到DataFrame时指定类型?还是最好先创建DataFrame,然后遍历列以更改每个列的类型?理想情况下,我希望以一种动态的方式这样做,因为可以有数百个列,而且我不想确切地指定哪一种列是哪种类型的。我所能保证的是,每个列都包含相同类型的值。


慕丝7291255
浏览 5378回答 3
3回答

一只斗牛犬

这个怎么样?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

慕森王

下面的代码将更改列的数据类型。df[['col.name1', 'col.name2'...]] = df[['col.name1', 'col.name2'..]].astype('data_type')代替数据类型,你可以给出你的数据类型。你想要什么,如str,浮,int等。
随时随地看视频慕课网APP

相关分类

Python
我要回答