修改DataFrames不会保留我指定的列



我有一个数据帧列表,这些数据帧都包含类似的列,如纬度、经度和日期时间。我试图通过一个函数传递每个数据帧,以获得所有时间段的平均温度。然后,我尝试只保留每个数据帧的Latitude、Longitude和temp列。下面的代码可以找到每个数据帧的平均温度,但它不会删除我不再需要的日期时间列,我不知道为什么。

def meantemp(df):
df['temp'] = df.iloc[ : , 2:].mean(axis = 1)
df = df[['Latitude','Longitude','temp']]
return df
weather_list = [df.pipe(meantemp) for df in weather_list]

这将向列表返回正确的数据帧,但不会修改列表之外的数据帧。稍后我需要在程序中单独使用数据帧如有任何帮助,我们将不胜感激。

传递给meantemp的df是函数的本地。因此,返回将为您提供正确的列表,但如果您需要修改以反映您的df,请将其重新分配给df而不是weather_list,或者在meantemp函数中使用全局df

最新更新