使用约束生成示例数据帧

时间:2016-10-17 02:01:46

标签: python dataframe genetic

我的记录数据框如下:

   '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个不同数据帧的任何想法吗?

谢谢,

1 个答案:

答案 0 :(得分: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    

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