import pandas as pd
import numpy as np
data = 'filename.csv'
df = pd.DataFrame(data)
df
one two three four five
a 0.469112 -0.282863 -1.509059 bar True
b 0.932424 1.224234 7.823421 bar False
c -1.135632 1.212112 -0.173215 bar False
d 0.232424 2.342112 0.982342 unbar True
e 0.119209 -1.044236 -0.861849 bar True
f -2.104569 -0.494929 1.071804 bar False
我想選擇某個列的範圍,比如說列two
。我想選擇-0.5和+0.5之間的所有值。如何做到這一點?如何在熊貓數據框列中選擇一系列值?
我預計使用
-0.5 < df["two"] < 0.5
但是這(自然)給出了一個ValueError:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我試圖
-0.5 (< df["two"] < 0.5)
但這輸出所有True
。
正確的輸出應該是
0 True
1 False
2 False
3 False
4 False
5 True
什麼是找到一個大熊貓數據幀列中的數值範圍的正確方法是什麼?
編輯:問題
使用.between()
與
df['two'].between(-0.5, 0.5, inclusive=False)
將會是什麼樣
-0.5 =< df['two'] < 0.5
-0.5 < df['two'] < 0.5
和不平等之間的區別?
有一個更好的選擇:'df.query(' - 0.5 <= two <0.5')' – MaxU
@MaxU感謝您的支持!我沒有想到這一點。這非常乾淨 – ShanZhengYang