您可以在此处使用df.loc
与pd.Index.str.contains
一起使用。
df['sum_rest'] = df.loc[:,df.columns.str.contains('Restaurant')].sum(axis=1)
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
定义一个包含“餐厅”的列列表:
lr = ["Afgan Restaurant", "American Restaurant", "Argentinian Restaurant"]
然后解析结果并将其放入一列中:
df["sum_restaurant"] = df.loc[:, columns=lr].apply(lambda row : np.sum(row.to_numpy()))