Новое в Python - у меня есть pandas dataframe со 100 строками и 275 столбцами, содержащими окрестности в качестве индекса и места встречи в виде столбцов.Многие места в колонках похожи и могут быть сгруппированы в более широкую категорию.Значения таблицы представляют собой частоты мест для каждого района.Я пытаюсь создать новый фрейм данных с суммами частот старых столбцов, группируя их по категориям.
т.е.
df = pd.DataFrame({'Area': ['Area1', 'Area2', 'Area3'],
'Pizza Place': [0.01, 0.02, 0.02],'Sandwich shop': [0.01, 0.02, 0.02],'Burger Joint': [0.01, 0.02, 0.02],'Area': ['Area1', 'Area2', 'Area3'],
'Park': [0.01, 0.02, 0.02],'Elementary School': [0.01, 0.02, 0.02],'Playground': [0.01, 0.02, 0.02]})
Я хочу создать 2 столбца, которые будут выполнять что-то вроде этого:
df['total_fast_food']=sum of frequencies for columns that contain the words:'Pizza','Sandwich','Burger' in their name
df['total_kids]=sum of frequencies for columns that contain the words:'Park','School','Play' in their name
что я пробовал до сих пор:
df.loc[df['Venue Category'].str.contains('Fast Food|Pizza Place|Burger Joint', case=False)] = 'FastFood'
df_new=df_old.filter(like='Fast',axis=1)
df_new['FastFood'] = df_new.sum(axis=1)
с помощью df.loc Я могу создать новые столбцы в существующем df и удалить те, которые используются в качестве параметров, нов кадре данных все значения новых столбцов теперь равны 0.
с фильтром (например, =) я получаю суммы для всех столбцов, в имени которых указано «Быстрый», что хорошо, но, очевидно, я не могу использоватьэто для других параметров, например, «Джойнт, пицца и т. д.»
Есть мысли, пожалуйста?