要按每行的类别对pandas进行采样,可以使用groupby
函数将数据按类别分组,然后对每个组进行采样。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Category': ['A', 'B', 'A', 'B', 'A', 'B'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 按类别分组并对每个组进行采样
sampled_df = df.groupby('Category').apply(lambda x: x.sample(n=2))
print(sampled_df)
输出结果为:
Category Value
0 A 1
4 A 5
1 B 2
5 B 6
在上面的代码中,首先创建了一个包含类别和值的DataFrame。然后使用groupby
函数将数据按照类别分组。接下来使用apply
函数对每个组进行采样,lambda x: x.sample(n=2)
表示对每个组采样2个样本。最后将采样结果合并为一个新的DataFrame。
注意:上述示例中的采样是随机的,因此每次运行代码的结果可能会有所不同。