如何解决过滤数据帧子集的更有效方法
问题是这样,我有一个像这样的数据框:
A B C D
2 3 X 5
7 2 5 7
1 2 7 9
3 4 X 9
1 2 3 5
6 3 X 8
我希望遍历数据帧的行,并且每次C = X列都想重置一个计数器,并开始将B列中的值相加直到C = X列。然后洗净然后重复排直到完成。
当前,我正在使用.iterrows()遍历各行,比较C列,然后按程序添加到变量中。
我希望有一种更有效的类似“熊猫”的方法来做这样的事情。
解决方法
按如下所述使用cumsum()
。
import pandas as pd
df = pd.DataFrame({"B":[3,2,4,3],"C":["X",5,7,"X",3,"X"]})
df['C'].loc[df['C'] == "X"] = df['B'].loc[df['C'] == "X"].cumsum()
输出为
B C
0 3 3
1 2 5
2 2 7
3 4 7
4 2 3
5 3 10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。