заполнение df случайными числами
Есть исходный df следующего вида:
| id | numer | city |
|---|---|---|
| 1 | 4 | Moscow |
| 2 | 5 | Tula |
| 3 | 3 | Ivanovo |
| 4 | 1 | Vladimir |
Хочется написать код, который добавит строчки к этому df, по принципу отсутствующего значения в столбце numer, число думал брать методом np.random.randint().
то есть я вызываю:
np.random.randint(10, size=6)
получаю некоторый список значений , допустим [1,4,6,8,7,3] далее сравниваю с df['numer'] и если такого числа в столбце нет - то добавлю новую строку с номером из рандома ( в этом случае 6,8,7),
то есть 3 строчки . Столбец city оставить пустым, либо заполнить рандомным названием из списка
['Kursk','Órel', 'Tambov', 'Voronezh']
, должно получится следующее:
| id | numer | city |
|---|---|---|
| 1 | 4 | Moscow |
| 2 | 5 | Tula |
| 3 | 3 | Ivanovo |
| 4 | 1 | Vladimir |
| 5 | 6 | Órel |
| 6 | 8 | Tambov |
| 7 | 7 | Tambov |
Что я сделал:
b =np.random.randint(10, size=6) #генерация списка рандомных чисел
dff =pd.DataFrame(b, columns =['rand']) #преобразование в формат dataframe
и собственно добавление (df - исходный data frame):
for i in dff['rand']:
if i not in df['Numera']:
df['Numera'].append(i)
но это не работает. До добавления города из списка я даже не дошел.
И еще вопрос, а как в df добавлять новые строчки, только с одним элементом ( пустые элементы nan видимо), например такого вида:
| id | numer | city |
|---|---|---|
| 10 |
Из всего что я видел -все методы предполагают заполнять все строго обязательно ( и number и city), а если один какой то только ( в данном случае numer) ?