Сложение значений с одинаковым индексом с помощью numpy / python - PullRequest
0 голосов
/ 23 сентября 2018

Я новичок в Python и NumPy.Я хочу найти общее количество дождевых дней (т. Е. Сумму столбца E для каждого года, приложите к нему изображение).Я использую numpy.unique , чтобы найти уникальные элементы массива year.

Моя попытка - следующее:

import numpy as np
data = np.genfromtxt("location/ofthe/file", delimiter = " ")
unique_year = np.unique(data[:,0], return_index=True)
print(unique_year)
j= input('select one of the unique year: >>>  ')
#Then I want to give the sum of the rainfall days in that year.

Буду признателен, если кто-нибудь сможет мне помочь.Заранее спасибо.

enter image description here

1 Ответ

0 голосов
/ 23 сентября 2018

Для таких задач Pandas (которая основана на NumPy) более легко адаптируется.

Здесь вы можете использовать GroupBy для создания отображения серии.Затем вы можете использовать свой ввод для запроса вашей серии:

import pandas as pd

# read file into dataframe
df = pd.read_excel('file.xlsx')

# create series mapping from GroupBy object
rain_days_by_year = df.groupby('year')['Rain days(in numbers)'].sum()

# get input as integer
j = int(input('select one of the unique year: >>>  '))

# extract data
res = rain_days_by_year[j]
...