0

我有一个记录数据框,如下所示:

   'Location'  'Rec ID'  'Duration'                         'Rec-X'
0     Houston       126          17    [0.2, 0.34, 0.45, ..., 0.28]
1     Chicago       126        19.3    [0.12, 0.3, 0.41, ..., 0.39]
2      Boston       348        17.3    [0.12, 0.3, 0.41, ..., 0.39]
3     Chicago       138        12.3    [0.12, 0.3, 0.41, ..., 0.39]
4    New York       238        11.3    [0.12, 0.3, 0.41, ..., 0.39]
...
500   Chicago       126        19.3    [0.12, 0.3, 0.41, ..., 0.39]

作为遗传算法过程的一部分,我想初始化一组 (10) 记录。我希望我的每个子集都包含 10 条记录,但是我不想包含相同的“Rec-ID”两次。

关于如何生成这 10 个不同的数据帧的任何想法?

谢谢,

4

1 回答 1

1

您可以根据数据框中的列删除重复项,然后访问 10 个元素

df2 = df.drop_duplicates('Rec ID')
df2.head(10)

编辑 如果你想随机选择 10 个独特的元素然后这样的东西会起作用

def selectRandomUnique(df) :
    d2 = df.sample(n=3).drop_duplicates('ID')
    while len(d2) != 3 :
        d2 = df.sample(n=3).drop_duplicates('ID')
    return d2    

首先,您随机选择行,然后删除可能存在的任何重复项。

于 2016-10-17T03:04:41.913 回答