gpt4 book ai didi

python - 如何在 python 中用数据框中的随机整数替换 0?

转载 作者:行者123 更新时间:2023-12-05 04:38:41 25 4
gpt4 key购买 nike

你好,新年快乐:)

我在 SQLite3 中有一个数据库,其中 ID 是主键,如果添加具有相同 ID 号的新行,它会用新数据替换该行。但是,如果目标为空,则为此生成 CSV 文件的程序将放入 ID 0。问题是,如果有几行 ID 为 0,则数据库中将只有一个,因为如果有几行,它会替换 ID。当我从数据库查询数据时,这在我的应用程序中造成了问题,因为我必须同时拥有两个目标,1 和 2 来自具有相同编号的中继。我想做的是每个0的ID都必须转换为1000到2000之间的随机整数,并且该随机数不能生成两次。

我试过 df.loc[df['ID'] == 0,'ID'] = df['ID'].apply(lambda x: np.random.normal(0,1) )df,但这只会生成一个随机 float ,我不能使用它。

我该如何解决这个问题?预先感谢您的回答:)

    LeonID Relay Target ... Klasse Fyll   ID
0 2 1 1 ... 3 0 210
1 2 1 2 ... NaN 0 0
2 2 2 1 ... V55 0 208
3 2 2 2 ... 2 0 211
4 2 3 1 ... V55 0 209
5 2 3 2 ... KIK 0 226
6 2 4 1 ... 4 0 218
7 2 4 2 ... 4 0 212
8 2 5 1 ... NaN 0 0
9 2 5 2 ... 2 0 220
10 2 6 1 ... 2 0 213
11 2 6 2 ... 2 0 225
12 2 7 1 ... EJ 0 219
13 2 7 2 ... 2 0 224
14 2 8 1 ... 2 0 221
15 2 8 2 ... 1 0 206
16 2 9 1 ... NaN 0 0
17 2 9 2 ... 4 0 216
18 2 10 1 ... 2 0 214
19 2 10 2 ... R 0 236
20 2 11 1 ... 4 0 215
21 2 11 2 ... 4 0 217
22 2 12 1 ... 4 0 207
23 2 12 2 ... EJ 0 205
24 2 13 1 ... 4 0 222
25 2 13 2 ... 2 0 223

最佳答案

Is there a way to make this easier like if the ID is 0, relay is 2 and target is 1 it would convert det ID to 21 or something like that? That would solve my problem :)

df.loc[df['ID'] == 0, 'ID'] = \
df[['Relay', 'Target']].astype(str).apply(''.join, axis=1).astype(int)
print(df)

# Output
LeonID Relay Target ... Klasse Fyll ID
0 2 1 1 ... 3 0 210
1 2 1 2 ... NaN 0 12 # HERE
2 2 2 1 ... V55 0 208
3 2 2 2 ... 2 0 211
4 2 3 1 ... V55 0 209
5 2 3 2 ... KIK 0 226
6 2 4 1 ... 4 0 218
7 2 4 2 ... 4 0 212
8 2 5 1 ... NaN 0 51 # HERE
9 2 5 2 ... 2 0 220
10 2 6 1 ... 2 0 213
11 2 6 2 ... 2 0 225
12 2 7 1 ... EJ 0 219
13 2 7 2 ... 2 0 224
14 2 8 1 ... 2 0 221
15 2 8 2 ... 1 0 206
16 2 9 1 ... NaN 0 91 # HERE
17 2 9 2 ... 4 0 216
18 2 10 1 ... 2 0 214
19 2 10 2 ... R 0 236
20 2 11 1 ... 4 0 215
21 2 11 2 ... 4 0 217
22 2 12 1 ... 4 0 207
23 2 12 2 ... EJ 0 205
24 2 13 1 ... 4 0 222
25 2 13 2 ... 2 0 223

关于python - 如何在 python 中用数据框中的随机整数替换 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70548245/

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