Преобразуйте данные в 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)
Другие вопросы по тегам