Получение имен столбцов и количества пустых значений из df.info () pandas

Обратите внимание, что подобная проблема может вас укусить, если вы используете os.path.join() для включения расширения, которое уже содержит точку, что происходит автоматически, когда вы используете os.path.splitext(). В этом примере:

components = os.path.splitext(filename)
prefix = components[0]
extension = components[1]
return os.path.join("avatars", instance.username, prefix, extension)

Хотя extension может быть .jpg, вы получите папку с именем «foobar», а не файл «foobar.jpg». Чтобы этого не произошло, вам необходимо добавить расширение отдельно:

return os.path.join("avatars", instance.username, prefix) + extension
1
задан Marquistador 15 January 2019 в 22:09
поделиться

2 ответа

Ответ: Используйте строковый буфер (пакет io), чтобы загрузить объект, возвращенный .info (). После загрузки базовые операции с Python могут дать вам то, что вам нужно.

Код:

# Buffer functionality
import io
# Regular expression functionality
import re

buffer = io.StringIO()
df.info(buf=buffer)

# If you look at the output, the first 3 lines and the last 2 lines describe the output. There will be one trailing '' (hence -3).
# Shrink multiple spaces into one space, to be guaranteed that each split value is as such: split_arr[0] == column_name, split_arr[1] == non_null_count 
tuple_array = [
    (re.sub(' +', ' ', val).split(' ')[0], re.sub(' +', ' ', val).split(' ')[1]) 
    for val in buffer.getvalue().split('\n')[3:-3]
]

Вывод: Вывод из приведенного выше примера DataFrame будет выглядеть следующим образом. Обратите внимание, что этот код может быть применен к любому вызову df.info().

tuple_array = [
     ('a', '2'),
     ...
     ('b', '4')
]
0
ответ дан Marquistador 15 January 2019 в 22:09
поделиться

Использование pd.DataFrame.isnull с pd.Series.items :

df = pd.DataFrame({'a': [1, np.nan, 2, np.nan],
                   'b': [1, 5, 6, 6]})

res = list(df.isnull().sum().items())
# [('a', 2), ('b', 0)]
0
ответ дан jpp 15 January 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: