Как преобразовать тип данных pandas dataframe из str в float в Python3? - PullRequest
0 голосов
/ 29 апреля 2018
import pandas as pd
d=[('Shubham',24),
   ('Shrikant',58),
   ('na',34)]
df = pd.DataFrame(d,columns=['Name','Age'])
df.dtypes

Выход: Наименование объекта

Возраст int32

dtype: object

Как преобразовать тип данных столбца «Имя» в число с плавающей точкой?

df['Name'].astype(float)

Ошибка ниже: ValueError: не удалось преобразовать строку в число с плавающей точкой: 'na'

1 Ответ

0 голосов
/ 29 апреля 2018

Если вы имеете в виду преобразование имени в число, то нет, строку нельзя превратить в число напрямую, используя, как мне известно, 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())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...