如何在Python3中将pandas dataframe的数据类型从str转换为float?

时间:2018-04-29 14:54:43

标签: python-3.x pandas dataframe types

import pandas as pd
d=[('Shubham',24),
   ('Shrikant',58),
   ('na',34)]
df = pd.DataFrame(d,columns=['Name','Age'])
df.dtypes

输出: 名称对象

年龄int32

dtype:object

如何将“Name”列的数据类型转换为float?

df['Name'].astype(float)

获得以下错误: ValueError:无法将字符串转换为float:'na'

1 个答案:

答案 0 :(得分:-1)

如果你的意思是将名称转换为数字然后是no,则不能使用astype直接将字符串转换为我所知道的数字。如果您打算编码,那么它如下:

import pandas as pd
d=[('Shubham',24),
   ('Shrikant',58),
   ('na',34)]
df = pd.DataFrame(d,columns=['Name','Age'])
df['Name'] = df['Name'].astype('category').cat.codes
print(df.head())