【发布时间】:2018-09-12 03:59:41
【问题描述】:
我有一个与它非常相似的数据框,但有数千个值:
import numpy as np
import pandas as pd
# Setup fake data.
np.random.seed([3, 1415])
df = pd.DataFrame({
'Class': list('AAAAAAAAAABBBBBBBBBB'),
'type': (['short']*5 + ['long']*5) *2,
'image name': (['image01']*2 + ['image02']*2)*5,
'Value2': np.random.random(20)})
我能够找到一种方法,使用以下代码对每个图像、每个类别和每个类型的 2 个值进行随机抽样:
df2 = df.groupby(['type', 'Class', 'image name'])[['Value2']].apply(lambda s: s.sample(min(len(s),2)))
我得到了以下结果:
我正在寻找一种方法对该表进行子集化,以便能够为每个类型和每个类随机选择一个随机图像(“图像名称”)(并为随机选择的图像保留 2 个值。
我想要的输出的 Excel 示例:
【问题讨论】:
-
你问题的最后一部分不清楚......你能解释一下你的意思吗?
-
在上面的示例中(链接“我的表格”),表格有 2 个图像,每个图像包含 2 个值,每个类型和每个类。我希望能够通过随机拥有 1 个包含 2 个值(每个类型和每个类)的图像来转换表格。在上面的示例中,它将为每个条件随机删除一个图像。在我的真实数据集中,我希望能够为每个条件随机选择“n”个图像。我希望这会有所帮助
标签: python pandas numpy random