使用现有数据帧python中的新主键创建新的伪数据



我有一个数据帧如下:

df1 = pd.DataFrame({'id': ['1a', '2b', '3c'], 'name': ['Anna', 'Peter', 'John'], 'year': [1999, 2001, 1993]})

我想通过在每列中随机重新排列值来创建新数据,但对于列id,我还需要在值的末尾添加一个随机字母,然后将新数据添加到现有的df1,如下所示:

df1 = pd.DataFrame({'id': ['1a', '2b', '3c', '2by', '1ao', '1az', '3cc'], 'name': ['Anna', 'Peter', 'John', 'John', 'Peter', 'Anna', 'Anna'], 'year': [1999, 2001, 1993, 1999, 1999, 2001, 2001]})

有人能帮我吗?非常感谢。

使用DataFrame.sample并通过numpy.random.choice:添加随机字母

import string
N = 5
df2 = (df1.sample(n=N, replace=True)
.assign(id =lambda x:x['id']+np.random.choice(list(string.ascii_letters),size=N)))
df1 = df1.append(df2, ignore_index=True)
print (df1)
id   name  year
0   1a   Anna  1999
1   2b  Peter  2001
2   3c   John  1993
3  1aY   Anna  1999
4  3cp   John  1993
5  3cE   John  1993
6  2bz  Peter  2001
7  3cu   John  1993

最新更新