使用Python如何为数据帧中的每一行生成一个范围内的随机数?

使用Python如何为数据帧中的每一行生成一个范围内的随机数?,python,numpy,pandas,random,Python,Numpy,Pandas,Random,目标:为构造的字段“出生”中的每一行创建一个唯一的随机数 import pandas as pd import numpy as np df1=pd.DataFrame.from_items([('A', [1, 2, 3]), ('B', [4, 5, 6])]) df1['Birth']= random.randrange(1905,1995, len(df1)) df1 上述代码为所有行生成一个随机数,如下所示: A B Birth 0 1 4 1974 1

目标:为构造的字段“出生”中的每一行创建一个唯一的随机数

import pandas as pd
import numpy as np

df1=pd.DataFrame.from_items([('A', [1, 2, 3]), ('B', [4, 5, 6])])
df1['Birth']= random.randrange(1905,1995, len(df1))
df1
上述代码为所有行生成一个随机数,如下所示:

    A   B   Birth
0   1   4   1974
1   2   5   1974
2   3   6   1974
相反,我对以下内容感兴趣:

    A   B   Birth
0   1   4   1904
1   2   5   1978
2   3   6   1934
任何帮助都将不胜感激

import pandas as pd
import numpy as np
import random

df1=pd.DataFrame.from_items([('A', [1, 2, 3]), ('B', [4, 5, 6])])
尝试:

输出:

   A  B  Birth
0  1  4   1980
1  2  5   1947
2  3  6   1965
您所做的与创建静态变量并将其用于df中的所有值相同,如下所示:

a_variable = random.randrange(1905,1995, len(df1))
#a_variable = 1974
df1['Birth'] = a_variable
使用numpy

import numpy as np
df['Birth'] = np.random.randint(1905,1995, len(df))
import numpy as np
df['Birth'] = np.random.randint(1905,1995, len(df))