我有一个包含许多列的大型数据框(如1000).我有一个列列表(由脚本生成~10).我想选择原始数据框中的所有行,其中至少有一列我的列不为空.
所以如果我事先知道我的列数,我可以这样做:
list_of_cols = ['col1', ...]
df[
df[list_of_cols[0]].notnull() |
df[list_of_cols[1]].notnull() |
...
df[list_of_cols[6]].notnull() |
]
Run Code Online (Sandbox Code Playgroud)
我也可以迭代cols列表并创建一个面具然后我会申请df,但他看起来太乏味了.知道熊猫在处理nan方面有多强大,我希望有一种方法可以更轻松地实现我想要的东西.
thresh在方法中使用参数dropna()。通过设置thresh=1,您可以指定如果至少有 1 个非空项,则不要删除它。
df = pd.DataFrame(np.random.choice((1., np.nan), (1000, 1000), p=(.3, .7)))
list_of_cols = list(range(10))
df[list_of_cols].dropna(thresh=1).head()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2455 次 |
| 最近记录: |