采样、哑变量

采样

df = DataFrame(np.arange(5 * 4).reshape((5, 4)))

sampler = np.random.permutation(5)

df表如下:

       0     1     2     3

0     0     1     2     3

1     4     5     6     7

2     8     9     10   11

3     12   13   14   15

4     16   17   18   19

df.take(sampler)得到表如下:

       0     1     2     3

1     4     5     6     7

0     0     1     2     3

2     8     9     10   11

3     12   13   14   15

4     16   17   18   19

由此可知take()使得df表的每一列按照sample作为索引进行采样

下面是一种有放回的抽样方式

bag = np.array([5, 7, -1, 6, 4])

sampler = np.random.randint(0, len(bag), size=10)  #可以产生重复的索引值

draws = bag.take(sampler)

哑变量

df表如下

     data1  key

0      0   b

1      1   b

2      2   a

3      3   c

4      4   a

5      5   b

经过pd.get_dummies(df['key'],prefix='key')处理后得到

       key_a     key_b     key_c

0     0            1            0

1     0            1            0

2     1            0            0

3     0            0            1

4     1            0            0

5     0            1            0

原文地址:https://www.cnblogs.com/yongfuxue/p/10042343.html