Конвертировать str в плавающие с пандами Python - PullRequest
0 голосов
/ 07 декабря 2018

Мне нужно изменить все мои данные столбца с str на float, но проблема в том, что у меня есть числа и '--' тоже.Я хочу изменить все '--' на 0.00, и тогда моя переменная objetivo может работать.

import pandas as pd
df = pd.read_csv('status.csv')    
objetivo = df['BP Booked Imps Budget (lifetime)'].astype(float)

ошибка: ValueError: could not convert string to float: --

csv:

BP Booked Imps Budget (lifetime), Imp
--,5555444
--,342345
--,245632
--,2345467
21345,3456
1234,34567
456,324567
123456,7654
--,6543

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Насколько я понимаю,

df['BP Booked Imps Budget (lifetime)'] = df['BP Booked Imps Budget (lifetime)'].apply(lambda x: 0.0 if x == '--' else x)
df['objectivo'] = df['BP Booked Imps Budget (lifetime)'].astype(float)
0 голосов
/ 07 декабря 2018

В соответствии с тем, что вы уже делаете, вы можете сделать

df['BP Booked Imps Budget (lifetime)'].replace('--', 0).astype(float)

Другой подход будет

pd.to_numeric(df['BP Booked Imps Budget (lifetime)'], errors='coerce').fillna(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...