盡管我通過比較解決了相同的情況,但我對 pandas 非常陌生,這里是我正在作業的資料框
s= [
{
'from':0,
'to':400000000,
'value':0.01
},
{
'from':400000001,
'to':500000000,
'value':0.015
},
{
'from':500000001,
'to':1000000000,
'value':0.03
},
{
'from':1000000001,
'to':10000000000,
'value':0.04
}
]
我想比較兩個欄位,即 from 和 to 并獲得第三個值,即假設汽車價格范圍在 0 到 400000000 之間,那么我可能會得到 1% 的傭金,即 0.01 bla bla 以熊貓方式做這件事的任何方式。這是我做過的小事,但我得到了空的資料系列
df = pd.DataFrame(s)
df = df[(df['from']<=0) &(400000000<df['to'])]['value']
print(df)
uj5u.com熱心網友回復:
我認為正確的方法是DataFrame.loc按掩碼選擇列,也可以<=從<第二個條件更改:
s = df.loc[(df['from']<=0) & (df['to']<=400000000), 'value']
print(s)
0 0.01
Name: value, dtype: float64
uj5u.com熱心網友回復:
您只需要正確應用這些條件。因為沒有同時滿足這兩個條件的值。你可以做:
df[df['from'].le(0) & df['to'].le(400000000)]['value']
這將導致:
0 0.01
Name: value, dtype: float64
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/478490.html
