Python从字典结构中的给定值中减去一些样本

2024-03-28 21:21:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个长度为5的dict结构。dict结构称为“mat\ u contents”。信息位于“列车数据”中,其各自的标签位于“列车标签”中。我想从给定的标签值中提取给定数量的样本。例如,标签为“trainlabels”的“traindata”中的60个样本(80个样本中的60个)等于1。我在这里看到了一些例子,但它们与我的要求不同。你知道吗

假设这是一个输入示例

 traindata   trainlabels
a               1 
b               2
c               2
d               1
e               1
f               2

如果我想提取两个trainlabels值为2的traindata随机样本,结果可能是:

   b  
   f  

Tags: 数据信息示例数量contents标签结构dict
5条回答
labels = [k for k, v in mat_contents.items() if v == 1]
result = np.random.choice(labels, 2, replace=False)

如果numpy作为np导入,则第一行从字典中提取相关标签,第二行从这些标签中随机选择2个元素的子集(不替换)。你知道吗

你不能用熊猫数据框来做这个吗?链接:Pandas Dataframe Sampling。这是我过去用过的一个例子:

    import pandas as pd

    keeping = 0.8
    source = "/path/to/some/file"

    df = pd.DataFrame(source)

    ones = df[df.trainlabels == 1].sample(frac=keeping)
    twos = df[df.trainlabels == 2].sample(frac=keeping)

相关问题 更多 >