你好,新年快乐 :)
我有一个SQLite3数据库,其中ID是主键,如果添加具有相同ID号的新行,则会替换具有新数据的行。但是生成CSV文件的程序在目标为空时会将ID放入0中。 问题在于,如果有几行具有ID 0,则只会有一行存在于数据库中,因为如果有多个ID,则会替换它们。当我从数据库查询数据时,这会在我的应用程序中造成问题,因为我必须具有相同编号的继电器的两个目标,1和2。 我想做的是将所有ID为0的ID转换为介于1000和2000之间的随机整数,并且不能生成两次该随机数字。
我尝试过 df.loc[df['ID'] == 0,'ID'] = df['ID'].apply(lambda x: np.random.normal(0,1))
df,但这只会生成一个随机浮点数,我无法使用它。
如何解决这个问题?感谢你们提前的回答 :)
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
df
中?如果是真的,请添加pandas标签。 - Mr. T