При разделении одной строки информационного кадра отбрасывайте столбцы NaN. - PullRequest
0 голосов
/ 11 февраля 2019

У меня вопрос, как я могу отбросить столбцы NaN при вырезании одной строки из фрейма данных?

Я разбиваю фрейм данных по одной строке за раз.Скажем, например, кадр данных:

df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
                   'B': 'one one two three two two one three'.split(),
                   'C': np.arange(8), 'D': np.arange(8) * 2})

Я собираюсь изменить одно значение на NaN для демонстрации:

df.iloc[2,3] = np.NaN

Результирующий df:

    A   B      C    D
0   foo one    0    0.0
1   bar one    1    2.0
2   foo two    2    NaN
3   bar three  3    6.0
4   foo two    4    8.0
5   bar two    5    10.0
6   foo one    6    12.0
7   foo three  7    14.0

Я буду возвращать по одной строке за раз, как часть более крупной операции.Это пример:

df.iloc[2,:]

Когда я делаю это, я получаю:

A    foo
B    two
C      2
D    NaN
Name: 2, dtype: object

Мне нужно будет перебрать эту строку, которая может содержать только один из многих столбцов,Есть ли векторный или питонный способ не возвращать столбцы с NaN?Я пытаюсь избежать итерации по всей строке или использования словаря, который также будет нуждаться в итерации.

В идеале результат должен выглядеть следующим образом:

A    foo
B    two
C      2
Name: 2, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...