Python 3.x 如何在Python3中将pandas数据帧的数据类型从str转换为float?
输出: 名称对象 年龄int32 数据类型:对象 如何将“Name”列的数据类型转换为floatPython 3.x 如何在Python3中将pandas数据帧的数据类型从str转换为float?,python-3.x,pandas,dataframe,types,Python 3.x,Pandas,Dataframe,Types,输出: 名称对象 年龄int32 数据类型:对象 如何将“Name”列的数据类型转换为float import pandas as pd d=[('Shubham',24), ('Shrikant',58), ('na',34)] df = pd.DataFrame(d,columns=['Name','Age']) df.dtypes 获取以下错误: ValueError:无法将字符串转换为float:'na'如果您的意思是将名称转换为数字,那么就我所知,不能使用aType将字符
import pandas as pd
d=[('Shubham',24),
('Shrikant',58),
('na',34)]
df = pd.DataFrame(d,columns=['Name','Age'])
df.dtypes
获取以下错误:
ValueError:无法将字符串转换为float:'na'如果您的意思是将名称转换为数字,那么就我所知,不能使用
aType将字符串直接转换为数字。如果您打算对其进行编码,则如下所示:
df['Name'].astype(float)
您希望名称“Shubham”变成什么浮点数?14.8?您的预期输出是什么?您如何形成其逻辑?
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())