要按条件删除90%的随机行,可以使用以下代码示例:
import pandas as pd
import numpy as np
# 创建一个示例DataFrame
df = pd.DataFrame({'A': np.random.randn(100),
'B': np.random.randn(100),
'C': np.random.randn(100)})
# 计算要删除的行数
rows_to_delete = int(len(df) * 0.9)
# 随机选择要删除的行索引
rows_index_to_delete = np.random.choice(df.index, size=rows_to_delete, replace=False)
# 删除选定的行
df = df.drop(rows_index_to_delete)
# 打印结果
print(df)
在上述代码中,我们首先创建了一个示例DataFrame df
。然后,我们计算要删除的行数,即总行数的90%。接下来,我们使用np.random.choice
函数随机选择要删除的行索引,设置size
参数为要删除行的数量,并将replace
参数设置为False
,以确保不重复选择同一行。
最后,我们使用df.drop
函数删除选定的行,并将结果保存回原始DataFrame df
。最终,我们打印出修改后的DataFrame。
注意:在实际应用中,请根据您的数据和删除条件进行相应的调整。