如何使用 NaN
删除列, +inf
,和-inf
值(value)观?我在这里看到的所有解决方案都只提到行,但假设我有数据框中每个元素的一组特征,如何仅删除包含 +inf
的列, -inf
和NaN
来自数据框中的每一行?
最佳答案
第一replace()
inf
和 -inf
以及 nan
:
df = pd.DataFrame({'a':[1,2,3], 'b':[4,np.nan,6], 'c':[7,8,np.inf]})
df = df.replace([np.inf, -np.inf], np.nan)
# a b c
# 0 1 4.0 7.0
# 1 2 NaN 8.0
# 2 3 6.0 NaN
然后使用dropna()
的axis
参数在基于行和基于列的行为之间切换:
df.dropna() # default axis=0 is row-based
# a b c
# 0 1 4.0 7.0
df.dropna(axis=1) # axis=1 or axis='columns' is column-based
# a
# 0 1
# 1 2
# 2 3
关于python - 从数据框中删除 nan、+inf、-inf 值列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67326135/