簡體   English   中英

Pandas 檢查兩個數據框列並訪問第三個值

[英]Pandas Check two data frame columns and access third value

盡管我通過比較解決了相同的情況,但我對 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)

我認為正確的方法是使用DataFrame.loc通過掩碼選擇列,對於第二個條件也可以更改<= from <

s = df.loc[(df['from']<=0) & (df['to']<=400000000), 'value']
print(s)
0    0.01
Name: value, dtype: float64

您只需要正確應用這些條件。 因為沒有同時滿足這兩個條件的值。 你可以做:

df[df['from'].le(0) & df['to'].le(400000000)]['value']

這將導致:

0    0.01
Name: value, dtype: float64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM