Python 为dataframe中列的每个单元格指定随机值

Python 为dataframe中列的每个单元格指定随机值,python,pandas,numpy,dataframe,data-science,Python,Pandas,Numpy,Dataframe,Data Science,我试图用numpy.rand.randint函数迭代panda数据帧中的一列,为每个单元格分配一个唯一的随机值 for i in csv_with_id.iteritems(): csv_with_id['index'] = np.random.randint(1,10000) 结果如下: 我的问题是索引列上的值重复 我还尝试了使用iterrows()和带有\u id的纯csv\u进行循环 我能知道这方面的方向吗 感谢使用随机。从numpy选择函数,您可以指定replace=Fals

我试图用
numpy.rand.randint
函数迭代panda数据帧中的一列,为每个单元格分配一个唯一的随机值

for i in csv_with_id.iteritems():
    csv_with_id['index'] = np.random.randint(1,10000)
结果如下:

我的问题是索引列上的值重复

我还尝试了使用
iterrows()
和带有\u id的纯
csv\u进行循环

我能知道这方面的方向吗


感谢使用
随机。从numpy选择
函数,您可以指定
replace=False
,这表示您不能有两倍相同的值。 此函数将返回一个可分配给
df.index

虚拟数据帧上的示例

import numpy as np
import pandas as pd
df = pd.DataFrame({'col1': range(8000)})
# get number of rows df values between 0 and 9999 - all distinct
df.index = np.random.choice(range(10000),df.shape[0],replace=False)
您可以检查
df.index
中不同元素的数量是否为
df
中的行数:

len(df.index.unique())
# 8000

您能否提供原始数据帧的一个最小示例?还有,下一行的“我”在哪里?因为我。。。下一行没有“i”。“索引”指的是什么?一个简单的原始数据帧示例可能会有所帮助。这是原始数据帧,我只想用随机值重新分配索引列上的值。