Как устранить отрицательные значения и вычислить сумму только положительных целых чисел? - PullRequest
0 голосов
/ 26 марта 2019

У меня есть таблица Excel для экспорта данных, мне нужно суммировать два столбца по отдельности и разделить их, чтобы получить ответ.но, выполняя операцию суммирования, я не хочу, чтобы мой код учитывал отрицательные значения из столбца 'YTD chg hrs фактический' (т.е. я просто хотел суммировать только положительные значения).Как я могу добиться этого из следующего кода?

util = "my file location goes here"
utilization_by_region=(((util.groupby(['BA Name','PC Name'])['YTD Chg Hrs Actual']).sum())/(util.groupby(['BA Name','PC Name'])['YTD Normal Hrs Actual'].sum())).replace(np.inf,np.nan)
utilization_by_service_line=((util.groupby(['PC Name','BA Name'])['YTD Chg Hrs Actual'].sum())/(util.groupby(['PC Name','BA Name'])['YTD Normal Hrs Actual'].sum())).replace(np.inf,np.nan)
print(utilization_by_region.fillna(0),utilization_by_service_line.fillna(0))

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Например, давайте создадим следующий DataFrame:

df = pd.DataFrame({'A': [ 2.5, 3.5, -10.1 -7.5, 3.0 ],
    'B': [ 3.5, -10.2 -7.8, 0.5, -0.1 ]})

Затем, чтобы оставить только положительные значения, создайте вспомогательный DataFrame:

df2 = df.where(df > 0, 0)

Затем, чтобы вычислить сумму (A) / сумма (B), выполнить:

df2.A.sum() / df2.B.sum()

Для данных приведенного выше примера, результат будет 2,25 .

Теперь измените имена столбцов на ваши столбцы, и выесть ваш результат.

0 голосов
/ 26 марта 2019

Представьте, что у вас есть фрейм данных с именем df, и в нем есть столбец целых чисел.Этот код поможет вам вычислить суммирование только положительных значений.

# df is your dataframe, 'A' is the column.
sum = df[df['A']>0].sum()

Вы можете найти индексы положительных чисел и вычислить только сумму результирующего подкадра.

...