首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建一个用随机字符串填充列的pandas数据帧?

如何创建一个用随机字符串填充列的pandas数据帧?
EN

Stack Overflow用户
提问于 2019-06-01 00:16:38
回答 3查看 4.1K关注 0票数 4

我想创建一个包含2列x行的Pandas数据帧,其中包含随机字符串。

我找到了生成带有随机int和随机字符串生成器的pandas数据帧的代码。我仍然没有看到一条清晰的路径来创建一个带有随机字符串的pandas数据框架。

用于随机int数据帧的代码

代码语言:javascript
复制
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))

随机字符串的代码

代码语言:javascript
复制
import string
import random
def id_generator(size=1500, chars=string.ascii_uppercase + string.digits):
    return ''.join(random.choice(chars) for _ in range(size))

id_generator()

我希望destiredDataframe.head()输出两列随机文本和x个行。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-01 00:21:19

试试这个:

代码语言:javascript
复制
num_rows = 10

data = np.array([id_generator() for i in range(2*num_rows)]).reshape(-1,2)
pd.DataFrame(data)
票数 4
EN

Stack Overflow用户

发布于 2019-06-01 00:27:26

您可以执行如下操作:

代码语言:javascript
复制
>>> pd.DataFrame(np.arange(12).reshape(4,3)).applymap(lambda x: np.random.choice(list(string.ascii_letters)))
   0  1  2
0  w  c  c
1  o  B  I
2  n  T  q
3  l  X  K
票数 1
EN

Stack Overflow用户

发布于 2020-01-10 06:37:36

您可以通过以下步骤使用随机可用值(字符串)填充整个列:

例如:如果您想用malefemale随机填充Gender列,可以通过下面的代码片段来完成。

代码语言:javascript
复制
gender_series = df.gender.apply(lambda x: random.choice(['male', 'female']) ) 

现在,您必须通过以下代码将此系列添加到原始数据帧中-

代码语言:javascript
复制
df['gender'] = gender_series
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56398568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档