Отбрасываемые столбцы данных Pandas без заголовка - PullRequest
0 голосов
/ 29 сентября 2018

Какое наиболее питоническое место для отбрасывания столбцов в кадре данных, где строка заголовка - NaN?Предпочтительно на месте.

В столбце могут быть или не быть данные.

df = pd.DataFrame({'col1': [1,2,np.NaN], 'col2': [4,5,6], np.NaN: [7,np.NaN,9]})
df.dropna(axis='columns', inplace=True)  

Не делает этого, поскольку просматривает данные в столбце.

Требуется вывод

df = pd.DataFrame({'col1': [1,2,np.NaN], 'col2': [4,5,6]})

Заранее благодарен за ответы.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Вы можете использовать pd.Index.dropna:

df = df[df.columns.dropna()]

print(df)

   col1  col2
0   1.0     4
1   2.0     5
2   NaN     6
0 голосов
/ 29 сентября 2018

Просто попробуйте это

df.drop(np.nan, axis=1, inplace=True)

Однако, если 'no headers' включает None, то ответ jpp будет отлично работать на одном кадре.Даже если у вас есть более одного np.nan заголовка, я не знаю, как заставить df.drop работать.

...