首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Pandas中随机抽取每个类别50%的项目

在Pandas中,可以使用groupby函数和sample函数来实现随机抽取每个类别50%的项目。

首先,假设我们有一个名为data的DataFrame,其中包含一个名为category的列,表示每个项目所属的类别。我们的目标是从每个类别中随机抽取50%的项目。

以下是实现的步骤:

  1. 导入Pandas库:
代码语言:txt
复制
import pandas as pd
  1. 创建一个示例DataFrame:
代码语言:txt
复制
data = pd.DataFrame({'category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C']})
  1. 使用groupby函数按照category列进行分组:
代码语言:txt
复制
grouped = data.groupby('category')
  1. 使用apply函数结合sample函数来随机抽取每个类别50%的项目:
代码语言:txt
复制
sampled_data = grouped.apply(lambda x: x.sample(frac=0.5))

在上述代码中,frac=0.5表示抽取的比例为50%。sampled_data将包含随机抽取的项目。

完整代码示例:

代码语言:txt
复制
import pandas as pd

data = pd.DataFrame({'category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C']})

grouped = data.groupby('category')
sampled_data = grouped.apply(lambda x: x.sample(frac=0.5))

以上代码将在Pandas中实现随机抽取每个类别50%的项目。请注意,这只是一个示例,实际应用中的DataFrame结构和数据可能会有所不同,但基本的思路是相同的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券