我发布这个,希望我会得到一个令人信服的答案。 df是我的数据帧。我想知道在apply函数中传递给min_max的是什么。当我在min_max中打印行时,我没有获得与我在外面相同的数据帧
import numpy as np
def min_max(row):
print(row)
print()
data = row[['POPESTIMATE2010',
'POPESTIMATE2011',
'POPESTIMATE2012',
'POPESTIMATE2013',
'POPESTIMATE2014',
'POPESTIMATE2015']]
return pd.Series({'min': np.min(data), 'max': np.max(data)})
df.apply(min_max, axis=1)
df.apply只调用/调用提供的函数,在你的情况下为输入轴中每个对象的min_max函数。从apply函数的documentation开始,axis = 1表示行方式操作,axis = 0表示列方式操作
因此,在您的情况下,它将为每行数据帧调用min_max函数。进一步阐述。
def print_funt(row):
pdb.set_trace()
print(row)
df = pd.DataFrame({'Temp1':[62,62,50,62,50,62,62],
'Temp2':[66,66,69,66,69,66,66],
'Temp3':[52,62,52,62,52,62,52],
'Target':[0.24,0.28,0.25,0.28,0.25,0.28,0.24]})
print(df)
df.apply(print_funt, axis=1)