У меня очень большие панды DataFrame (> 100 миллионов строк и> 1000 столбцов). Каждая строка имеет уникальную метку в качестве индекса, для большинства строк только один столбец содержит значение. Я хочу создать новый DataFrame, удалив эти строки, только один из столбцов имеет значение, и сохранение этих строк с более чем двумя столбцами имеет значения.Удаление строк в кадре данных pandas после оценки всех столбцов
ответ
Вы можете оставить их с помощью dropna
:
In [3]:
#sample df
df = pd.DataFrame({'a':[0,NaN, 2,3,4], 'b':[0,NaN, 2,3,NaN], 'c':arange(5)})
df
Out[3]:
a b c
0 0 0 0
1 NaN NaN 1
2 2 2 2
3 3 3 3
4 4 NaN 4
In [5]:
# drop just the rows which have 2 or more NaN values
df.dropna(thresh=2, axis=0)
Out[5]:
a b c
0 0 0 0
2 2 2 2
3 3 3 3
4 4 NaN 4
Вы пройти Params thresh=2
, чтобы указать, что требуется по крайней мере, 2 значения, не NA, и axis=0
определит, что критерии должны быть применены по рядам.
Приятно! Но по некоторым причинам это не сработало. Я использовал df.read_csv, чтобы получить файл, возможно, эти ячейки без значений на самом деле не NaN? – snps
Являются ли они числовыми вообще ?, и в этом случае они могут быть строковыми или у вас есть неверные данные, все, что требуется, - это одно значение в столбце, которое будет строкой, и это сделает столбец смешанным dtype, вы можете попробовать преобразовать first: 'df.convert_objects (convert_numeric = True)' см. [docs] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.convert_objects.html#pandas.DataFrame.convert_objects) , Если это не работает, вам придется выследить ошибочные данные. – EdChum
Извините, забыли упомянуть первый столбец (который я использовал как метку и действительно не нужен индекс) - str. Могу ли я игнорировать это, применяя dropna или использовать этот столбец как ось? взгляните на файл примера по ссылке? https://www.dropbox.com/s/qzuzn0ynn91epcn/Masterdict.csv?dl=0 – snps
- 1. Удаление повторяющихся строк после проверки всех столбцов
- 2. Сравнение значений столбцов в кадре данных Pandas
- 3. Цепь подсчитанных столбцов в кадре данных Pandas
- 4. Условное удаление строк в кадре данных R
- 5. Переименование подмножества всех столбцов в кадре данных
- 6. Pandas- Удаление повторяющихся строк на основе столбцов
- 7. группировка в кадре данных pandas
- 8. Получение имен всех столбцов и количества строк в кадре данных с помощью Python Pandas
- 9. Переименование столбцов в кадре данных Pandas с повторяющимися именами столбцов?
- 10. Удаление строк в pandas
- 11. Процентное ранжирование в кадре данных. Pandas
- 12. Функция оценки столбцов с разными названиями в кадре данных
- 13. Группировка и упорядочение столбцов в кадре данных Pandas
- 14. Удаление дубликатов условно в Pandas на основе всех, кроме столбцов?
- 15. Удаление строк данных, основанных на индексе фрейма данных pandas
- 16. Поиск строк в кадре данных Pandas с одинаковыми значениями
- 17. Pandas удаление строк
- 18. Переименование столбцов в кадре данных pandas с использованием регулярных выражений
- 19. Столбцы столбцов в кадре данных pandas для достижения формата записи
- 20. Разделите колонку в кадре данных Pandas по сумме столбцов
- 21. Удаление строк в кадре данных на основе нескольких столбцов из другого фрейма данных в R
- 22. Каков наилучший способ суммирования всех значений в кадре данных Pandas?
- 23. Pandas - Удаление нескольких пустых столбцов
- 24. data.table: удаление всех строк после выполнения условия
- 25. Удаление всех апострофов в кадре данных в R
- 26. Удаление строк в кадре данных с помощью функции ПОЛУЧИТЬ
- 27. Как назначить группу # набору строк в кадре данных pandas?
- 28. Репликация строк в кадре данных pandas по значению столбца
- 29. Устранение строк в кадре данных Pandas при сложном состоянии
- 30. Как получить минимальное значение списка строк в кадре данных pandas
Можете ли вы привести пример данных? – Veedrac
Это звучит как операция, для которой исполнение в памяти с пандами - ужасная идея. Поместите свои данные в базу данных и используйте оптимизированный драйвер базы данных для выполнения операции этого масштаба. Это не то, для чего были созданы панды, и то, на что это хорошо. Не используйте панды в качестве предлога, чтобы избежать обучения или использования надлежащих систем баз данных даже в разовых специальных аналитических задачах. – ely
Можете ли вы предоставить несколько образцов? –