Python数据框: Randomly delete rows with initial condition

标签 python dataframe

我有一个像这样的数据框:

 Col1 Col2 
  a1   1
  a2   1
  b1   2
  b2   2
  b3   2
  b4   2 

如果 Col2 = 2,我想随机删除 2 行。示例输出:

 Col1 Col2 
  a1   1
  a2   1
  b1   2
  b4   2 

执行此操作的最佳方法是什么?谢谢:)

最佳答案

这可能不是最好的解决方案,但它确实有效

首先获取相对于条件Col2 == 2的索引

index = df.index[df.Col2 == 2].tolist()

然后“随机”选择要删除的两行

import random
idx = random.sample(index, 2)
df.drop(index=idx)

关于Python数据框: Randomly delete rows with initial condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56186952/

相关文章:

python - (2002, "Can' t 通过套接字 '/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器”)

python - 在控制台中获取python子进程的输出

python - 使用 pandas 从 json 文件中提取数据时, bool 值会自动转换为大写

python - 如何计算每个月或某个月份的事件日期

python - PySpark - 将空值替换为相应行的平均值

python - 将不同的列值堆叠到 Pandas 数据框中的一列中

python - Jython : SyntaxError: invalid syntax

python - 将 Pandas 中的日期时间分组为三个小时间隔

r - 在 R 中我需要什么样的加入?

python - 如何使 SQL 返回重复项?