Преобразуйте данные в DataFrame pandas и удалите некоторые
У меня есть набор данных для преобразования в фрейм данных значений с плавающей запятой. Но иногда машина не измеряет и устанавливает символ «---», который дает pandas.to_numeric ValueError. В качестве сокращенного примера здесь мой вопрос заключается в том, как преобразовать в плавающие столбцы с отверстиями и удалить там, где у меня есть строковый набор символов «---»:
data = {'row_1': ["3.0", "2.4", "---", "0.0"], 'row_2': ['a', 'b', 'c', 'd']}
df = pandas.DataFrame.from_dict(data)
Как удалить всю третью строку и преобразовать значения row_1 в float? Спасибо.
2 ответа
# Convert to floating point, but first make sure triple dashes can be interpreted as NaNs
df['row_1'] = df['row_1'].replace('---', 'NaN').astype(float)
# drop rows with NaNs
df = df.dropna()
Попробуйте что-нибудь вроде этого
import pandas as pd
data = {'row_1': ["3.0", "2.4", "---", "0.0"], 'row_2': ['a', 'b', 'c', 'd']}
df = pd.DataFrame.from_dict(data)
df = df[df['row_1']!='---'].copy()
df['row_1'] = df['row_1'].astype(float)