python - 根据 Pandas 中列的值删除行

标签 python pandas

我有一个这样的数据框:

col.1 : a a a a a b b b c c c
col.2 : 0 0 1 0 0 0 1 0 0 0 0

在 col.2 中遇到 1 后,我想删除 col.1 中相似值的所有值。结果应该是这样的:

col.1 : a a a b b c c c
col.2 : 0 0 1 0 1 0 0 0

有什么方法可以在 pandas 中快速完成吗?目前我在哪里使用 numpy,它似乎很慢。

最佳答案

试试这个:

df['col.2'] = df.groupby('col.1')['col.2'].cumsum()
df['col.2'] = df.groupby('col.1')['col.2'].cumsum()
df = df[df['col.2']<2]

关于python - 根据 Pandas 中列的值删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245905/

相关文章:

python - 将 python 字典转换为数据框,其中字典值(列表)作为列,如果该列在字典列表中,则为 1,0

Python - 使用 minidom 解析时理解 XML 结构

python - python 中的 HEAD 请求无法正常工作

python - admin.sites.url 密码传输

python - Pandas boxplot : set color and properties for box, 中位数,均值

Python pandas - 将多列转换为行

python - Dataframe 对象中的拼写更正,Python

python - Pandas 如何按时间段过滤 DataFrame

Python Flask 加载后修改页面

python - 如何将 pandas DataFrame 转换为数组表示形式?