繁体   English   中英

Pandas - 根据对其他列进行的条件数学创建新列

[英]Pandas - Creating a new column based on conditional math done on other columns

假设我有一个 dataframe 具有以下

Col A|Col B|Col C
A     1     20
A     2     30
A     3     40
B     1     10
B     2     30

我想添加一个 col D,它将 Col C 中具有相同 Col A 值但其 Col B val 低于自身的所有值相加。 所以结果是

    Col A|Col B|Col C|Col D
     A     1     20   20
     A     2     30   50
     A     3     40   90
     B     1     10   10
     B     2     30   40

谢谢你!

你可以试试这个:

df = pd.DataFrame([["A",1,20],
["A",4,30],
["A",3,40],
["B",1,10],
["B",2,30]], columns =  ["Col A","Col B","Col C"])

df = df.sort_values(['Col A','Col B']).groupby('Col A')['Col C'].cumsum()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM