使用熊猫将特定的标称值随机分配给行

时间:2018-11-02 22:06:03

标签: python pandas dataframe

我想将一些选定的标称值随机分配给行。例如: 我有三个标称值["apple", "orange", "banana"]。 在将这些值随机分配给行之前:

**Name         Fruit**    
Jack              
Julie              
Juana              
Jenny              
Christina          
Dickens            
Robert             
Cersei      

将这些值随机分配给行后:

**Name               Fruit**
Jack               Apple
Julie              Orange
Juana              Apple
Jenny              Banana
Christina          Orange
Dickens            Orange
Robert             Apple
Cersei             Banana

如何使用pandas数据框来做到这一点?

2 个答案:

答案 0 :(得分:3)

您可以将pd.np.random.choice与您的值一起使用:

vals = ["apple", "orange", "banana"]

df['Fruit'] = pd.np.random.choice(vals, len(df))

>>> df
        Name   Fruit
0       Jack   apple
1      Julie  orange
2      Juana   apple
3      Jenny  orange
4  Christina   apple
5    Dickens  banana
6     Robert  orange
7     Cersei  orange

答案 1 :(得分:1)

您可以在熊猫中创建一个DataFrame,然后使用numpy分配随机选择

ex2 = pd.DataFrame({'Name':['Jack','Julie','Juana','Jenny','Christina','Dickens','Robert','Cersei']})

ex2['Fruits'] = np.random.choice(['Apple','Orange','Banana'],ex2.shape[0])