要根据特定条件从Python中的DataFrame中随机选择行,您可以使用pandas库中的query()
或布尔索引来实现
首先,导入pandas并创建一个示例DataFrame:
import pandas as pd
import numpy as np
data = {'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': ['a', 'b', 'c', 'd', 'e']}
df = pd.DataFrame(data)
print(df)
假设我们要根据条件A > 2
随机选择行:
方法1: 使用 query()
函数:
selected_rows = df.query('A > 2')
random_row = selected_rows.sample(n=1) # 设置n为所需的随机行数
print(random_row)
方法2: 使用布尔索引和 sample()
函数:
selected_rows = df[df['A'] > 2]
random_row = selected_rows.sample(n=1) # 设置n为所需的随机行数
print(random_row)
在这两种方法中,selected_rows
都是满足条件 A > 2
的行的子集,而 random_row
是从这些选定的行中随机抽取的行。注意,在调用 sample()
函数时,可以通过设置 n
参数来控制抽取的随机行数。
领取专属 10元无门槛券
手把手带您无忧上云