[英]Pandas - Creating a new column based on conditional math done on other columns
Suppose I have a dataframe with the following假设我有一个 dataframe 具有以下
Col A|Col B|Col C
A 1 20
A 2 30
A 3 40
B 1 10
B 2 30
I want to add a col D that sums all values in Col C that have the same Col A value but whose Col B val is low than itself.我想添加一个 col D,它将 Col C 中具有相同 Col A 值但其 Col B val 低于自身的所有值相加。 So the result would be
所以结果是
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
Thank You!谢谢你!
You can try this:你可以试试这个:
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.