Python 如何在忽略满足测试要求的值的同时平均熊猫中的分组值?
我有一个要应用groupby().mean()的数据帧,但需要应用一个测试并忽略满足它的值 如下表所示,我想按区域分组,然后平均结果。 但是,我希望忽略列名称中前n个字符共有的列中出现的0对 我觉得用正则表达式和迭代可以做到这一点,但我看不到Python 如何在忽略满足测试要求的值的同时平均熊猫中的分组值?,python,pandas,Python,Pandas,我有一个要应用groupby().mean()的数据帧,但需要应用一个测试并忽略满足它的值 如下表所示,我想按区域分组,然后平均结果。 但是,我希望忽略列名称中前n个字符共有的列中出现的0对 我觉得用正则表达式和迭代可以做到这一点,但我看不到 area art ark bag bar area1 4 8 2 7 area1 0 0 6 3 area2 4 4 4 1 area2 6 2
area art ark bag bar
area1 4 8 2 7
area1 0 0 6 3
area2 4 4 4 1
area2 6 2 0 0
area3 6 1 1 8
area3 7 0 0 3
在(n=2)的上表中,应忽略区域1和区域2 0对,因为(art&ark)和(bag&bar)符合列名测试
但是,不应忽略区域3对,因为(方舟和袋子)不共享(n=2)首字母
我正在寻找的输出如下所示
area ark art bag bar
area1 4 8 (2+6/2) (7+3/2)
area2 (4+6/2) (4+2/2) 4 1
area3 (6+7/2) (1+0/2) (1+0/2) (8+3/2)
任何帮助或想法都将不胜感激
编辑:两个测试只需要考虑按字母顺序排序的相邻列(假设TIE数据框已经是这种格式)< /P> <代码> DF.替换(0,P.NP.N.). GROMPBY(“区域”).(?)/代码>?您的问题听起来有点泛泛而谈.如前所述,我们是否需要在所有两列中搜索匹配的名称?不,广安,抱歉。那是模糊的。仅按字母顺序排序的相邻列(已处理)。BallpointBen。这将从计算中删除所有零,无论它们是否满足测试要求。
df.replace(0,pd.np.nan)。groupby('area')。mean()
?您的问题听起来有点泛化。如前所述,我们是否需要在所有两列中搜索匹配的名称?不,广安,抱歉。那是模糊的。仅按字母顺序排序的相邻列(已处理)。BallpointBen。这将从计算中删除所有零,无论它们是否满足测试要求。