簡體   English   中英

如何使用 pandas 為 dataframe 創建 function

[英]How to create a function for a dataframe with pandas

我有這個客戶購買的數據框,我想創建一個 function,它為我提供給定月份和年份輸入的總購買量。

我有一個 dataframe (df) 有很多列,但我只使用 3 個(“年”、“月”、“值”)

這是我正在嘗試但沒有工作的:

def total_purchases():
    y = input('Which year do you want to consult?')
    m = int(input('Which month do you want to consult?')
    sum = []
    if df[df['year']== y] & df[df['month']== m]:
       for i in df:
         sum = sum + df[df['value']]
    return sum

你已經接近了,你需要放棄 IF 語句和 For 循環。

此外,在處理 pandas 中的多個邏輯運算符時,您需要使用括號來分隔條件。

def total_purchases(df):
    y = input('Which year do you want to consult? ')
    m = int(input('Which month do you want to consult? '))
    return df[(df['year'].eq(y)) & (df['month'].eq(m))]['value'].sum()

設置

df_p = pd.DataFrame({'year' : ['2011','2011','2012','2013'],
                  'month' : [1,2,1,2],
                  'value' : [200,500,700,900]})

測試

total_purchases(df_p)

Which year do you want to consult? 2011
Which month do you want to consult? 2

500

暫無
暫無

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

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