Как можно конвертировать Str без диапазона? - PullRequest
0 голосов
/ 20 октября 2019

Следующий код подходит для преобразования str в пределах диапазона, например, следующий код преобразует в float или int в диапазоне 5. Я хочу преобразовать существующие данные всего столбца в int или float. Как я могу это сделать? Мне нужна помощь?

df= pd.DataFrame(range(5), columns=['a'])
df.a = df.a.astype(float)

Когда я так кодирую, выдает ошибку:

df= pd.DataFrame, columns=['a'])
df.a = df.a.astype(float)

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Как и другие говорили, проблема в df= pd.DataFrame, columns=['a'])

Вам необходимо предоставить данные для преобразования в фрейм данных. Ниже приведен пример, который будет работать, передавая список в фрейм данных. Обратите внимание, что результат печатается как «numpy.float64» при запуске.

import pandas as pd

salary = {'a':[20, 21, 19, 18]}

df= pd.DataFrame(data)

df.a = df.a.astype(float)

print(type(df.a[0]))
0 голосов
/ 21 октября 2019

Что за ошибка? Этот синтаксис должен работать

import numpy as np
df.a = df.a.astype(np.float32) 

Если ваши данные изначально имеют тип string, ваша ошибка может быть связана с пробелами. Попробуйте сделать это в первую очередь:

df['a'] = df['a'].apply(lambda x : x.replace(' ', '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...