在Pandas中,可以使用groupby
函数和sample
函数来实现随机抽取每个类别50%的项目。
首先,假设我们有一个名为data
的DataFrame,其中包含一个名为category
的列,表示每个项目所属的类别。我们的目标是从每个类别中随机抽取50%的项目。
以下是实现的步骤:
import pandas as pd
data = pd.DataFrame({'category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C']})
groupby
函数按照category
列进行分组:grouped = data.groupby('category')
apply
函数结合sample
函数来随机抽取每个类别50%的项目:sampled_data = grouped.apply(lambda x: x.sample(frac=0.5))
在上述代码中,frac=0.5
表示抽取的比例为50%。sampled_data
将包含随机抽取的项目。
完整代码示例:
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结构和数据可能会有所不同,但基本的思路是相同的。
领取专属 10元无门槛券
手把手带您无忧上云