[英]Sum row values of all columns where column names meet string match condition
[英]How to sum up all values in a row where the column contains a specific string?
这是一种方法:
df = pd.DataFrame({"restaurant_a": [1,2,3], "shop": [2,3,4], "restaurant_b": [4,5,6]})
df["sum_rest"] = df[[x for x in df.columns if "restaurant" in x]].sum(axis = "columns")
df
结果是:
restaurant_a shop restaurant_b sum_rest
0 1 2 4 5
1 2 3 5 7
2 3 4 6 9
您可以在此处将pd.Index.str.contains
与df.loc
一起使用。
df['sum_rest'] = df.loc[:,df.columns.str.contains('Restaurant')].sum(axis=1)
定义一个包含 "Restaurant" 的列列表:
lr = ["Afgan Restaurant", "American Restaurant", "Argentinian Restaurant"]
然后解析结果并将其放入列中:
df["sum_restaurant"] = df.loc[:, columns=lr].apply(lambda row : np.sum(row.to_numpy()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.