如果在數據框的特定列中共享相同的值,我是否要聚合某些列中的值?如何根據Python中的列值聚合某些行
換句話說,我怎麼能從A獲取數據幀B?在這個例子中,我想根據列c1中的值進行檢查,如果存在具有相同值的行,那麼我想將列c3-c5的總和放在行中新列(c6)中的值爲「 c「列c2。
答:
c0 c1 c2 c3 c4 c5 0 1 a d 3 4 0 1 1 a c 0 0 6 2 1 b d 3 1 0 1 1 b c 0 0 1
B:
c0 c1 c2 c3 c4 c5 c6 0 1 a d 3 4 0 1 1 a c 0 0 6 13 2 1 b d 3 1 0 1 1 b c 0 0 1 5
這裏是我做了什麼:
import pandas as pd
import numpy as np
A = pd.read_excel(file_location)
A['c6'] = pd.Series(0, index=A.index)
A.c6[A['c2'] == 'c'] = A.c5 + A.c4[A.c1 == A.c1.shift(-1)] + A.c3[A.c1 == A.c1.shift(-1)]
B = A
你需要你的數據看起來像B'如果你想要的是某些列的某些列的值,那麼具有分組列值和總計列的數據框就足夠了嗎? – James
@詹姆斯是我想讓它看起來像B. – Ana