我在Jupiter中有一个数据框 A ,其外观如下
Index Var1.A.1 Var1.B.1 Var1.CA.1 Var2.A.1 Var2.B.1 Var2.CA.1
0 1 21 3 3 4 4
1 3 5 4 9 5 1
....
100 9 75 2 4 8 2
我想根据名称的扩展名来评估平均值,即
例如,为了评估扩展名为.A.1的变量的平均值,我尝试了以下方法,但没有返回我想要的结果
List=['.A.1', '.B.1', '.CA.1']
A[List[List.str.contains('.A.1')]].mean()
但是,通过这种方式,我得到了不同变量的平均值,也得到了CA.1,这不是它要查找的内容。
有什么建议吗?
谢谢
答案 0 :(得分:1)
如果要在第一个mean
之后使用所有值按行.
,请使用groupby
和lambda函数以及mean
:
df = df.groupby(lambda x: x.split('.', 1)[-1], axis=1).mean()
print (df)
A.1 B.1 CA.1
0 2.0 12.5 3.5
1 6.0 5.0 2.5
100 6.5 41.5 2.0
答案 1 :(得分:1)
这是一个不错的选择:
assign ( paste0("tsPMR6", i ) , tsPMR6)
答案 2 :(得分:0)
dfA.filter(like='.A.1')
-为您提供包含“ .A.1”子字符串的列