#python #dataframe #csv
Вопрос:
У нас есть csv-файл, который извлекается на Python и инициализируется как фрейм данных. В csv-файле есть строки, где столбцы пусты, и нам нужно удалить эти строки.
Примером файла csv является:
datetime a_id avg_wind bar temperature solar 2019-11-11T19:53:20.430275697Z weather 3.212 0.0 5.232 0.0 2019-11-11T20:53:20.430275697Z weather 3.183 0.0 5.205 0.0 2019-11-11T21:53:20.430275697Z 2019-11-11T22:53:20.430275697Z weather 3.199 0.0 3.454 0.0 2019-11-11T23:53:20.430275697Z weather 3.188 0.0 3.422 0.0
Вот как должен выглядеть кадр данных после удаления строки:
datetime a_id avg_wind bar temperature solar 2019-11-11T19:53:20.430275697Z weather 3.212 0.0 5.232 0.0 2019-11-11T20:53:20.430275697Z weather 3.183 0.0 5.205 0.0 2019-11-11T22:53:20.430275697Z weather 3.199 0.0 3.454 0.0 2019-11-11T23:53:20.430275697Z weather 3.188 0.0 3.422 0.0
Мы попробовали следующее: df = df.dropna()
, но это дало нам следующую ошибку:
AttributeError: 'NoneType' object has no attribute 'dropna'
Код: Как мы получаем фрейм данных
def getWeather(self, collection, database): print('--------------') print('database = ' database) print('collection = ' collection) # Establishing a client connection client = pymongo.MongoClient("mongodb srv://...") # Retrieving records in the collection from a database records = client[database][collection] # Records in the collection of the database are stored as a list of dictionaries, which is then converted to a dataframe dataframe = pd.DataFrame(list(records.find())) # Convert dataframe to json json_struct = json.loads(dataframe.to_json(default_handler=str, orient="records")) dataframe = pd.json_normalize(json_struct) # Removing a row if any cells in the row is empty dataframe = dataframe.dropna()
Комментарии:
1. Как вы получаете
df
это ?2. Вопрос был обновлен с кодом того, как мы получаем df
3. Куда вы подаете
dropna
заявление ?4. Просто проверил еще раз, и это действительно работает. Возможно, раньше строка кода находилась не в том месте