Добавление столбцов в pandas не работает с Django ORM
Я пытаюсь добавить столбцы в существующий pandas DataFrame. Добавленный столбец получает данные с помощью Django ORM. Мои подходы выглядят следующим образом:
1.
df['name'] = User.objects.get(id=df['id'])
df['name'] = df.assign(name=lambda x: User.objects.get(x.id))
Но при обоих подходах я получаю следующую ошибку:
TypeError: Field 'code' expected a number but got 0 1
1 18
Name: code, dtype: int64.
Поле ожидает число, но вместо него получает pandas Series.
Как мне к этому подойти?
вам нужно число для поля id
в User.objects.get
, но df['id']
возвращает pandas Series
вы можете сделать что-то вроде:
df = df.assign(name=[User.objects.get(x.id) for x in df['id']])