фильтрация кадра данных Pandas по одному столбцу и получение суммы значений в другом столбце - PullRequest
1 голос
/ 18 июня 2019

У меня есть фрейм данных с несколькими столбцами (8-10), и один такой столбец является столбцом года. У меня есть еще один столбец, называемый столбцом прибытия.столбец года состоит из данных за 3 года - 2018, 2019 и 2020 годы. Я хочу выяснить для 2019 года сумму поступлений.я думал, что это будет довольно просто, но я не получаю правильных результатов!Может кто-нибудь показать мне, как подойти к этому?

Я слышал, что df.loc можно использовать, но не уверен, как подойти к этому.

Текущий код:

df=pd.read_excel('xyz.xlsx')
while df['Year'== '2019']:
    arrived= df['Arrived'].sum()
    print(arrived)

Ответы [ 2 ]

1 голос
/ 18 июня 2019

Первый вход в команду loc является фильтром для индекса, а затем второй столбец.

df.loc[df['Year'] == '2019', 'Arrived'].sum()
0 голосов
/ 18 июня 2019

Еще один подход, если вы хотите получить сумму за каждый год, это использовать операцию groupby:

per_year = df.groupby('Year')['Arrived'].sum()

Это даст вам серию, и вы сможете увидетьзначение для 2019 года конкретно с:

per_year['2019']
...