如何使用熊猫为数据框创建函数

时间:2020-04-09 02:04:12

标签: python pandas function

我具有客户购买的数据框架,我想创建一个函数,该函数为我提供给定月份和年份的总购买量。

我有一个包含很多列的数据框(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

1 个答案:

答案 0 :(得分:3)

您接近了,您需要放弃IF语句和For循环。

此外,在处理熊猫中的多个逻辑运算符时,您需要使用括号来分隔条件。

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
相关问题