gpt4 book ai didi

python - 查找并返回至少有一个 np.inf 值的 Pandas 数据帧的行

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:56 24 4
gpt4 key购买 nike

我有一个包含一些 np.inf 值的数据框,我想隔离出现 np.inf 的这些行并检查它们。然而,数据框有很多列,不容易一一检查,尽管这可以在循环内完成。

我试过了但是失败了:

rows_with_inf = [df1[column][df1[column] == np.inf] for column in df1.columns if ((df1[column].isin([np.inf])).sum() !=0)]

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-94-768652e951ec> in <module>
----> 1 rows_with_inf = [df1[column][df1[column] == np.inf] for column in df1.columns if ((df1[column].isin([np.inf])).sum() !=0)]

<ipython-input-94-768652e951ec> in <listcomp>(.0)
----> 1 rows_with_inf = [df1[column][df1[column] == np.inf] for column in df1.columns if ((df1[column].isin([np.inf])).sum() !=0)]

~\Anaconda3\envs\tf2\lib\site-packages\pandas\core\generic.py in __nonzero__(self)
1553 "The truth value of a {0} is ambiguous. "
1554 "Use a.empty, a.bool(), a.item(), a.any() or a.all().".format(
-> 1555 self.__class__.__name__
1556 )
1557 )

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

实现此目标的紧凑(“pythonic”)方式是什么?

最佳答案

使用boolean indexingDataFrame.any每行至少测试一个 np.inf:

df = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,np.inf,3],
'D':[1,np.inf,5,7,1,0],
'E':[5,3,6,9,2,np.inf],
'F':list('aaabbb')
})



df1 = df[(df == np.inf).any(axis=1)]
print (df1)
A B C D E F
1 b 5 8.0 inf 3.0 a
4 e 5 inf 1.0 2.0 b
5 f 4 3.0 0.0 inf b

或者如果需要过滤列和行:

m = (df == np.inf)
df2 = df.loc[m.any(axis=1), m.any(axis=0)]
print (df2)

C D E
1 8.0 inf 3.0
4 inf 1.0 2.0
5 3.0 0.0 inf

详细信息:

print (df == np.inf)
A B C D E F
0 False False False False False False
1 False False False True False False
2 False False False False False False
3 False False False False False False
4 False False True False False False
5 False False False False True False

print ((df == np.inf).any(axis=1))
0 False
1 True
2 False
3 False
4 True
5 True
dtype: bool

关于python - 查找并返回至少有一个 np.inf 值的 Pandas 数据帧的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58519214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com