Вычислять и добавлять столбцы во фрейм данных, используя несколько столбцов для сортировки - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть довольно простой фрейм данных со столбцами A, B, C, и я хотел бы добавить несколько. Я хотел бы создать два столбца с суммарной суммой и сохранить их в одном и том же фрейме данных. В настоящее время я делаю это, создавая два разных фрейма данных, которые по-разному упорядочены, и затем отображая результаты на одном графике, но я предполагаю, что есть более эффективный подход. Я пытаюсь создать следующие столбцы: (1) Столбец D = накопленная сумма столбца C, упорядоченная по возрастанию значений в столбце A (2) Столбец E = накопленная сумма столбца C, упорядоченная по убыванию значений в столбец B

Examples of the what my data looks like and the 2 columns I'm trying to calculate

1 Ответ

1 голос
/ 06 апреля 2020

Это должно работать:

# Cumsum helps us get the cummulative sum and we sort after for correct order of column
df = pd.read_csv('Sample.csv')
df.insert(3,'D',df.sort_values(by = ['A']).C.cumsum().sort_values().values)
df.insert(4,'E',df.sort_values(by = ['B'], ascending = False).C.cumsum().sort_values().values)

print(df)

   A    B  C  D  E
0  1  0.1  1  1  2
1  2  0.3  3  4  3
2  3  0.6  1  5  6
3  4  0.7  2  7  8
4  5  0.3  2  9  9
...