如何在 python/pandas 中僅過濾包含大于 .00 的小數的數字?
df = pd.DataFrame({
'Lineitem price': [4.00, 5.65, 1.22, 8.00, 10.78, 7.00, 2.85]
})
Lineitem price
0 4.00
1 5.65
2 1.22
3 8.00
4 10.78
5 7.00
6 2.85
基本上我只想保留數字 5.65、1.22、10.78 和 2.85。這將適用于更大的 DataFrame,因此這只是一個示例。
uj5u.com熱心網友回復:
使用np.floor去除小數部分。
>>> df[df['Lineitem price'] != np.floor(df['Lineitem price'])]
Lineitem price
1 5.65
2 1.22
4 10.78
6 2.85
uj5u.com熱心網友回復:
您可以將列除以 1,然后查看余數是多少。
df['Lineitem price'] % 1 != 0
0 False
1 True
2 True
3 False
4 True
5 False
6 True
x % 1給出除以 1 后的余數,所以它給出小數點右邊的任何值。檢查它是否為零。
uj5u.com熱心網友回復:
以這種方式獲取數字的小數部分:
x % 1
經過相應的過濾。
如何得到小數點后的數字?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/368894.html
