gpt4 book ai didi

python - 根据列数据用python生成数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:48:31 25 4
gpt4 key购买 nike

我有一个看起来像的数据框:

I_Code      Date_1      Date_2    s_count
FT-35447 01/09/2019 02/08/2019 6
FT-40664 01/09/2019 02/08/2019 6
FT-54185 01/09/2019 03/08/2019 3
FT-40664 01/09/2019 03/08/2019 3
FT-56984 02/09/2019 03/08/2019 3
FT-29238 02/09/2019 03/08/2019 3
FT-45919 02/09/2019 03/08/2019 3
FT-35447 01/09/2019 04/08/2019 2
FT-56984 02/09/2019 04/08/2019 2
FT-89801 02/09/2019 04/08/2019 2
FT-29238 02/09/2019 04/08/2019 2
FT-70293 03/09/2019 04/08/2019 2

我想创建一个新的数据框,它将具有相同的以下字段以及一个新字段,该字段的随机数介于 1 到 100 之间,但行数将取决于 s_count。例如,第一个条目有 6 行,第二个条目有 6 行,第三个条目有 3 行等等

df 中第 1 行的预期输出:

I_Code      Date_1      Date_2  s_count num
FT-35447 01/09/2019 02/08/2019 6 10
FT-35447 01/09/2019 02/08/2019 6 13
FT-35447 01/09/2019 02/08/2019 6 56
FT-35447 01/09/2019 02/08/2019 6 45
FT-35447 01/09/2019 02/08/2019 6 34
FT-35447 01/09/2019 02/08/2019 6 90

有没有 Pandas 的方法可以达到同样的效果。

谢谢

最佳答案

使用Index.repeatDataFrame.loc对于重复的行,然后通过 numpy.random.randint 设置新的列值:

df = df.loc[df.index.repeat(df['s_count'])].reset_index(drop=True)
df['num'] = np.random.randint(1, 100, size=len(df))

print (df.head(20))
I_Code Date_1 Date_2 s_count num
0 FT-35447 01/09/2019 02/08/2019 6 83
1 FT-35447 01/09/2019 02/08/2019 6 84
2 FT-35447 01/09/2019 02/08/2019 6 11
3 FT-35447 01/09/2019 02/08/2019 6 83
4 FT-35447 01/09/2019 02/08/2019 6 90
5 FT-35447 01/09/2019 02/08/2019 6 12
6 FT-40664 01/09/2019 02/08/2019 6 33
7 FT-40664 01/09/2019 02/08/2019 6 69
8 FT-40664 01/09/2019 02/08/2019 6 11
9 FT-40664 01/09/2019 02/08/2019 6 29
10 FT-40664 01/09/2019 02/08/2019 6 46
11 FT-40664 01/09/2019 02/08/2019 6 44
12 FT-54185 01/09/2019 03/08/2019 3 92
13 FT-54185 01/09/2019 03/08/2019 3 46
14 FT-54185 01/09/2019 03/08/2019 3 45
15 FT-40664 01/09/2019 03/08/2019 3 87
16 FT-40664 01/09/2019 03/08/2019 3 88
17 FT-40664 01/09/2019 03/08/2019 3 78
18 FT-56984 02/09/2019 03/08/2019 3 89
19 FT-56984 02/09/2019 03/08/2019 3 18

关于python - 根据列数据用python生成数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58581501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com