如何对现有行的每个元素迭代数据帧和随机数

2024-10-02 02:32:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图迭代一个pandas数据帧,在特定列中的每个元素末尾添加4个随机数,但我的函数将相同的随机数追加到每行。它每次遍历行时都会生成随机数,但它只是将生成的前4个随机数字相加,然后将相同的数字追加到所有行

def create_cpr(df, symbol):
    for idx, row in df.iterrows():
        number = str(rand.randint(1111, 9999))
        df['SNumber'] = df['DateOfBirth'].str.replace('-', '') + symbol + number
    df = df.drop(['DateOfBirth'], axis=1)
    return df

我希望结果是正确的

  FirstName LastName         Email      SNumber
0     Joe    Jones  jj@gmail.com  **27031968-8923**
1   Alice    Apple  aa@gmail.com  **11121887-5318**

Tags: 数据函数com元素numberpandasdf数字
1条回答
网友
1楼 · 发布于 2024-10-02 02:32:00

您可以在^{}中生成所有随机数,转换为字符串并添加到列,并且^{}用于选择和删除列:

def create_cpr(df, symbol):
    r = np.random.randint(1111, 9999, size=len(df)).astype(str)
    df['SNumber'] = df.pop('DateOfBirth').str.replace('-', '') + symbol + r
    return df

相关问题 更多 >

    热门问题