玩具示例代码
假设我跟踪了DataFrame
import pandas as pd
import numpy as np
df = pd.DataFrame({"A":[11,21,31], "B":[12,22,32], "C":[np.nan,23,33], "D":[np.nan,24,34], "E":[15,25,35]})它将返回:
>>> df
A B C D E
0 11 12 NaN NaN 15
1 21 22 23.0 24.0 25
2 31 32 33.0 34.0 35删除所有具有nan值的列
我知道如何删除具有nan值的所有列,如下所示:
out1 = df.dropna(axis=1, how="any")返回:
>>> out1
A B E
0 11 12 15
1 21 22 25
2 31 32 35预期产出
但是,我期望的是在找到nan值之后删除所有列。在玩具示例代码中,预期的输出是:
A B
0 11 12
1 21 22
2 31 32问题
在nan在pandas DataFrame的任何行中找到之后,我如何删除所有列?
发布于 2020-10-09 16:52:13
我要做的是:
检查每个元素是否为空/不为null
df.loc[:, ~df.isna().cumsum(axis=1).any(axis=0)]给我:
A B
0 11 12
1 21 22
2 31 32https://stackoverflow.com/questions/64284130
复制相似问题