如何基于Year与Week列创建引用其他行数据的week high列
解决方案
完全可以通过Year和Week列实现这个需求,用Pandas的分组结合transform方法就能轻松完成,具体代码如下:
import pandas as pd # 假设你的DataFrame名为df df['week high'] = df.groupby(['Year', 'Week'])['High'].transform('max')
代码说明:
groupby(['Year', 'Week']):按年份和周数对数据分组,确保每个分组对应同一年的同一周数据['High'].transform('max'):对每个分组的High列计算最大值,transform方法会把这个最大值映射回原DataFrame的每一行,保证新列行数和原数据一致- 最终新增的
week high列,每一行的值就是该行所属年份+周数分组下的最高High值——比如2003年Week1的所有行,该列值都会是47.000;2022年Week43的所有行,该列值都会是389.519
内容的提问来源于stack exchange,提问作者connorc
相关产品推荐
相关产品推荐

