gpt4 book ai didi

python - 如何查找数据帧 'significantly' 的哪些值与特定平均值不同

转载 作者:行者123 更新时间:2023-12-01 07:35:31 25 4
gpt4 key购买 nike

我正在创建一个 Pandas DataFrame,其中一列是一年中每隔半小时的温度。

I want to create a column which on each row contains the mean value for that month at that time.

例如,在包含值“13:00:00 2018-02-02”的行中,我希望该值是 2 月份下午 1 点获取的温度读数的平均值。我这样做是为了识别哪些特定时间的温度读数不正常。

我尝试使用 .loc 和 for 循环来做到这一点。

这是我的代码,我运行它并收到一条错误消息。

import numpy as np
import datetime as dat

#df_train has been defined and is a Pandas DataFrame

df_train['Time']=df_train['Date and Time'].dt.time
df_train['Month']=df_train['Date and Time'].dt.month
times=np.array(df_train.loc[df_train['Date']==dat.date(2018, 1, 2)].Time)
means=[]
for i in range(1,13):
df_hour=df_train.loc[df_train['Month']==int(i)]
for time in times:

df_hour=df_hour.loc[df_hour['Time']==time]
means.append(df_hour['Temp'].values.mean())

我希望我可以向我的数据框添加方法。

错误读取:

C:\Users\ocallaghan_m\Desktop\Forecasting\Python_Code\Neural Networks\Non 
Recursive NN\48 steps type\Next Day With Day Type and BH &
Weather\data.py:74: RuntimeWarning: Mean of empty slice.
means.append(df_hour['Temp'].values.mean())

任何有关此代码或任何替代方法的帮助将不胜感激。

最佳答案

我认为你可以使用 pandas 的 groupby() 方法来实现你想要的(而不是 for 循环)。

这是代码:

means = df_train.groupby(['Month', 'Time']).Temp.mean()
df_train.set_index(['Month', 'Time'], inplace=True)
df_train['Mean'] = means
df_train.reset_index(inplace=True)

关于python - 如何查找数据帧 'significantly' 的哪些值与特定平均值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com