Как удалить строки, если в python какая-либо ячейка пуста

#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. Просто проверил еще раз, и это действительно работает. Возможно, раньше строка кода находилась не в том месте