从具有特定列的列表中向dataFrame添加随机数据?

时间:2019-12-21 17:18:59

标签: python pandas numpy dataframe

我有一个名为list1的列表

  list1 = ['Banana','Apple','Pear','Strawberry','Muskmelon','Apricot','Peach','Plum','Cherry','Blackberry','Raspberry','Cranberry','Grapes','Greenapple','Kiwi','Watermelon','Orange','Lychee','Custardapples','Jackfruit','Pineapple','Mango']

我想用特定列和list1中的随机数据形成df

例如:

        a          b       c            d            e         f
   0  Banana    Orange   Lychee     Custardapples Jackfruit  Pineapple
   1   Apple    Pear   Strawberry   Muskmelon    Apricot    Peach
   2  Raspberry Cherry  Plum           Kiwi        Mango   Blackberry

像这样的结构,但是具有来自list1的随机数据? 不能存在任何重复/重复的值。

1 个答案:

答案 0 :(得分:5)

如果列表中的每个项目都可以在DataFrame中的任何地方结束,您可以这样写:

pd.DataFrame(np.random.choice(list1, 3*6, replace=False).reshape(3, 6), columns=list("abcdef"))

Out: 
        a           b           c          d              e          f
0  Lychee       Peach     Apricot       Pear           Plum     Grapes
1  Cherry   Jackfruit  Blackberry  Cranberry           Kiwi      Apple
2  Orange  Greenapple  Watermelon     Banana  Custardapples  Raspberry

np.random.choice()中的replace参数默认为True,因此对于唯一值,您需要将其设置为False