У меня есть данные, которые выглядят так: -
data = {"doc1" : {'a': 2 , 'b': 1,'c':3}, "doc2" : {'a': 1 , 'b': 1,'c':3}, "doc3" : {'a': 1 , 'b': 1,'c':3}}
Я конвертирую его в фрейм данных: -
df = pd.DataFrame.from_dict(data,orient='index')
Датафрейм выглядит так: -
a c b
doc1 2 3 1
doc2 1 3 1
doc3 1 3 1
Теперь я хочу суммировать все значения в столбце b, где значения столбца a равны 1.
Таким образом, значение, которое я хочу, будет 2.
Есть ли простой способ сделать это, а не перебирать оба столбца? Я проверил другие сообщения и нашел это: -
Это использует функцию .loc. df.loc[df['a'] == 1, 'b'].sum()
Но по какой-то причине я не могу заставить его работать с моим фреймворком данных.
Пожалуйста, дай мне знать.
Спасибо.