#python-2.7 #pandas
#python-2.7 #панды
Вопрос:
У меня есть множество фреймов данных, к которым я хочу применить функцию.
Мои фреймы данных выглядят следующим образом:
Year ID Pressure
1984 1 0.2
1985 2 0.5
1986 3 0.7
Я пытаюсь:
def f(x):
return x.groupby(['ID']).Pressure.mean().to_frame().reset_index()
#apply the function to dataframes
df.apply(f)
df2.apply(f)
но это возвращает:
KeyError: ('ID', u'occurred at index Year')
без функции я могу делать то, что хочу, вот так:
df=df.groupby(['ID']).Pressure.mean().to_frame().reset_index()
Ответ №1:
применить используется, когда вы хотите применить apply
a function
к каждому значению фрейма данных. поскольку вы просто хотите применить что-то ко всему df, вы должны просто сделать:
f(df)
f(df2)