我的问题是,从数据帧上切下一行时如何删除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
我将需要遍历此行,该行可能仅包含许多列之一。是否有矢量或Python方法不使用NaN返回列?我试图避免遍历整个行或使用字典,这也需要迭代。
理想情况下,结果应如下所示:
A foo
B two
C 2
Name: 2, dtype: object