为了账号安全,请及时绑定邮箱和手机立即绑定

更改Pandas中列的数据类型

更改Pandas中列的数据类型

慕丝7291255 2019-06-18 10:20:26
更改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


查看完整回答
反对 回复 2019-06-18
?
慕森王

TA贡献1777条经验 获得超3个赞

下面的代码将更改列的数据类型。

df[['col.name1', 'col.name2'...]] = df[['col.name1', 'col.name2'..]].astype('data_type')

代替数据类型,你可以给出你的数据类型。你想要什么,如str,浮,int等。


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 5377 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信