我有一个数据框df
看起来像:
id location grain
0 BBG.XETR.AD.S XETR 16.545
1 BBG.XLON.VB.S XLON 6.2154
2 BBG.XLON.HF.S XLON NaN
3 BBG.XLON.RE.S XLON NaN
4 BBG.XLON.LL.S XLON NaN
5 BBG.XLON.AN.S XLON 3.215
6 BBG.XLON.TR.S XLON NaN
7 BBG.XLON.VO.S XLON NaN
实际上,该数据帧将更大。我想遍历此数据帧,返回
'grain'
值,但我只对“ grain”列中具有值(而不是NaN)的行感兴趣。因此,仅当我遍历数据框时返回以下值:16.545
6.2154
3.215
我可以使用以下方法遍历数据框:
for staticidx, row in df.iterrows():
value= row['grain']
但这会为所有行(包括具有NaN值的行)返回一个值。有没有办法从数据框中删除NaN行,或者跳过粒度等于NaN的数据框中的行?
非常感谢
最佳答案
您可以在dropna
中指定要作为数据子集的列的列表:
子集:类数组
沿其他轴考虑的标签,例如如果您要删除行
这些将是要包括的列的列表
>>> df.dropna(subset=['grain'])
id location grain
0 BBG.XETR.AD.S XETR 16.5450
1 BBG.XLON.VB.S XLON 6.2154
5 BBG.XLON.AN.S XLON 3.2150