Python bson: как создать список ObjectIds в новой колонке - PullRequest
0 голосов
/ 22 октября 2018

У меня есть CSV, который мне нужен для создания столбца случайных уникальных идентификаторов MongoDB в python.

Вот мой CSV-файл:

   import pandas as pd

   df = pd.read_csv('file.csv', sep=';')
   print(df)

        Zone
        Zone_1
        Zone_2

Я сейчас использую этотстрока кода для генерации уникального ObjectId - ОБНОВЛЕНИЕ

import bson

x = bson.objectid.ObjectId()
df['objectids'] = x
print(df)

Zone; objectids
Zone_1; 5bce2e42f6738f20cc12518d
Zone_2; 5bce2e42f6738f20cc12518d

Как я могу получить ObjectId уникальным для каждой строки?

1 Ответ

0 голосов
/ 24 октября 2018

Ненавижу видеть вас проголосовавшими ... переполнение стека сходит с ума от повторяющейся чепухи с вопросом, отказывается предоставить полезную помощь, а затем опускает голосование за то, что вы набрались смелости спросить о чем-то, чего вы не знаете.

Упомянутый вопрос явно не имеет ничего общего с ObjectIds, не говоря уже о добавлении их (или любого другого объекта, не являющегося внутренним для NumPy или Pandas) в кадры данных.

Вам, вероятно, нужно использовать карту

, при этом предполагается, что столбец "objectids" не является серией в вашем кадре, а "Зона" - Серия в вашем кадре

df['objectids'] = df['Zone'].map(lambda x: bson.objectid.ObjectId())

Карты - очень полезный (хотя и медленный) способ прокрутить каждую запись в вашей серии и особенно полезный в качестве начального метода для подключения внешних функций.

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.map.html

...