熊猫中的子数据帧

时间:2018-11-29 12:06:16

标签: python pandas pandas-groupby

假设我有df:

df = pd.DataFrame([[1, 2, 1], [1, 3, 2], [4, 6, 3], [4, 3, 4], [4, 4, 5]], columns=['A', 'B', 'C'])
   A  B  C
0  1  2  1
1  1  3  2
2  4  6  3
3  4  3  4
4  4  4  5

我想对'A'进行分组,并对'B','C'的子致命帧进行一些计算和操作,但是我找不到方法,只能在单列上找到方法。 因此,如果我将每个子数据帧都称为SubDF,我将尝试做的事情:

SubDF = SubDF.sort_values(by=['B','C'], ascending=[False,True])

反转C列,取总和,然后再次反转,我认为是这样的:

SubDF['cum_C'] = SubDF.loc[::-1, 'C'].cumsum()[::-1]

我想做的是将每个'A'转换为.sort_values(by = ['B','C'] ascending = [False,True])然后是df.val1.cumsum() 计算“ C”的水平

SubDF['per_C'] = 100*SubDF.cum_C/SubDF.C.sum()

,并且对于每个SubDF,第一行的cum_C都低于90%,因此最终结果将类似于:

df:
       A  B  C cum_C per_C
    0  1  2  1  1    33.333
    1  2  4  5  9    75.000

我该怎么做?

谢谢

0 个答案:

没有答案