如何让 pandas 数据框随机填充 1 和 0?
How do you make a pandas dataframe be filled randomly with 1s and 0s?
我有一个
pandas dataframe in python 我想根据随机选择填充 1 和 0。
如果可能的话,我希望用 numpy 来完成。我试过了
tw['tw'] = np.random.choice([0, 1])
但这最终只是给我一个 dataframe 填充 1 或 0。我知道这可以使用 for 循环:
for i in range(len(tw)):
tw['tw'][i] = np.random.choice([0, 1])
但这感觉效率低下。我该怎么做呢?
如果您分配一个标量,该值将被广播到所有索引。
您需要分配一个系列大小的数组。
使用numpy.random.choice
的size
参数:
tw['tw'] = np.random.choice([0, 1], size=len(tw))
你可以使用 numpy 的 random integer generator
tw['tw'] = np.random.randint(low = 0,high = 2,size = len(tw))
请注意,“高”数是 non-inclusive,因此您必须给出 2。
我有一个 pandas dataframe in python 我想根据随机选择填充 1 和 0。 如果可能的话,我希望用 numpy 来完成。我试过了
tw['tw'] = np.random.choice([0, 1])
但这最终只是给我一个 dataframe 填充 1 或 0。我知道这可以使用 for 循环:
for i in range(len(tw)):
tw['tw'][i] = np.random.choice([0, 1])
但这感觉效率低下。我该怎么做呢?
如果您分配一个标量,该值将被广播到所有索引。
您需要分配一个系列大小的数组。
使用numpy.random.choice
的size
参数:
tw['tw'] = np.random.choice([0, 1], size=len(tw))
你可以使用 numpy 的 random integer generator
tw['tw'] = np.random.randint(low = 0,high = 2,size = len(tw))
请注意,“高”数是 non-inclusive,因此您必须给出 2。