У меня вопрос, как я могу отбросить столбцы 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