[英]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.