gpt4 book ai didi

python - 将列表中的数据分配到 panda 数据框中的列中

转载 作者:行者123 更新时间:2023-12-03 07:56:30 26 4
gpt4 key购买 nike

我有一个列表users=['a','b','c','d']

我有一个包含 100 行的数据框 X。我想用列表用户填充 X['users'] ,这样

  1. 分布均匀。在上面的示例中,每个元素必须有 25 个条目
  2. 分发以随机方式完成。每次运行时它不应该有固定的分发模式。 abcdabcd、aaabbbcccddd 和 accbddab 都是有效的发行版。

我该如何解决这个问题?

最佳答案

将每个元素的 25 个 (users*25) 传递到 np.random.Generator.choice (或已弃用的 np.random.choice )并设置 replace=False:

users = list('abcd')
X = pd.DataFrame()
rng = np.random.default_rng(0)

X['users'] = rng.choice(users*25, size=100, replace=False)
# users
# 0 d
# 1 d
# 2 b
# 3 a
# ...

X.value_counts()
# users
# a 25
# b 25
# c 25
# d 25
# dtype: int64

在额外的运行中,我们得到了不同的采样,但每个元素始终为 25:

X['users'] = rng.choice(users*25, size=100, replace=False)
# users
# 0 b
# 1 b
# 2 c
# 3 c
# ...

X.value_counts()
# users
# a 25
# b 25
# c 25
# d 25
# dtype: int64

关于python - 将列表中的数据分配到 panda 数据框中的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75932600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com