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