python大于小于_在Python中大于/小于Pandas DataFrames / Series之间的比较
如何在DataFrame和Series之間進行比較?我想掩蓋DataFrame / Series中比其他DataFrame / Series中的元素更大/更小的元素.
例如,以下內容不會替換大于均值的元素
與nans雖然我期待它:
>>> x = pd.DataFrame(data={'a': [1, 2], 'b': [3, 4]})
>>> x[x > x.mean(axis=1)] = np.nan
>>> x
a b
0 1 3
1 2 4
如果我們看一下比較創建的布爾數組,那真的很奇怪:
>>> x = pd.DataFrame(data={'a': [1, 2], 'b': [3, 4]})
>>> x > x.mean(axis=1)
a b 0 1
0 False False False False
1 False False False False
我不明白生成的布爾數組是什么邏輯.我可以通過使用轉置來解決這個問題:
>>> (x.T > x.mean(axis=1).T).T
a b
0 False True
1 False True
但我相信有一些“正確”的做法,我不知道.至少我想了解發生了什么.
這里的問題是它將索引解釋為列值來執行比較,如果你使用.gt并傳遞axis = 0,那么你得到你想要的結果:
In [203]:
x.gt(x.mean(axis=1), axis=0)
Out[203]:
a b
0 False True
1 False True
當您與np數組進行比較時,您可以看到我的意思:
In [205]:
x > x.mean(axis=1).values
Out[205]:
a b
0 False False
1 False True
在這里,您可以看到用于比較的默認軸在列上,從而產生不同的結果
總結
以上是生活随笔為你收集整理的python大于小于_在Python中大于/小于Pandas DataFrames / Series之间的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有了不良征信怎么办?5年后一定会清零吗?
- 下一篇: python切片原理_深度解析Pytho