2024-04-24 09:40:15 发布
网友
请参见数据片段。我在Excel的多个表中有相似的数据,每个表都是不同的年份。对于每个月、日和时间(12和00),我想取所有表中K列的平均值。但是,每个工作表的数据行并不相同。我想取所有工作表中K的平均值,但前提是A、B、E、G列中的数据在所有工作表中都匹配。因此,从数据示例中,我将得到所有工作表的K2平均值,其中每个工作表月=1,日期=1,时间=am,mb=100。在
没有你的数据,我做了两个例子DataFrames
DataFrames
首先,您需要将数据从excel导入pandas,方法是:
pandas
df1 = pd.read_excel('name_file.xlsx', sheet_name='year2018')
每年都这样做。在
之后,您可以使用我的示例来获得预期的输出:
我们可以使用^{}将数据帧附加在一起(在您的例子中,这些数据帧可以超过两个)。在
df_all = pd.concat([df1, df2], ignore_index=True) print(df_all) Month Date Year Time mb dir 0 1 1 2018 AM 100 265 1 1 1 2018 AM 150 265 2 1 1 2018 AM 200 270 3 1 1 2018 AM 250 270 4 1 1 2018 PM 100 265 5 1 1 2018 PM 150 265 6 1 1 2018 PM 200 265 7 1 1 2018 PM 250 265 8 1 1 2019 AM 100 275 9 1 1 2019 AM 150 275 10 1 1 2019 AM 200 280 11 1 1 2019 AM 250 280 12 1 1 2019 PM 100 275 13 1 1 2019 PM 150 275 14 1 1 2019 PM 200 275 15 1 1 2019 PM 250 280
现在我们可以使用^{}来获得预期的输出:
print(df_all.groupby(['Month', 'Date', 'Time', 'mb']).dir.mean().reset_index()) Month Date Time mb dir 0 1 1 AM 100 270.0 1 1 1 AM 150 270.0 2 1 1 AM 200 275.0 3 1 1 AM 250 275.0 4 1 1 PM 100 270.0 5 1 1 PM 150 270.0 6 1 1 PM 200 270.0 7 1 1 PM 250 272.5
没有你的数据,我做了两个例子
DataFrames
首先,您需要将数据从excel导入
pandas
,方法是:每年都这样做。在
之后,您可以使用我的示例来获得预期的输出:
^{pr2}$我们可以使用^{} 将数据帧附加在一起(在您的例子中,这些数据帧可以超过两个)。在
现在我们可以使用^{} 来获得预期的输出:
相关问题 更多 >
编程相关推荐