Извлечение данных из двух вложенных столбцов в одном кадре данныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Извлечение данных из двух вложенных столбцов в одном кадре данных

Сообщение Anonymous »

У меня есть фрейм данных pandas, содержащий транзакции. Транзакция фиксируется либо как платеж, либо как Ledger_account_booking. Одна транзакция может иметь несколько платежей и/или несколько резервирований по счетам главной книги. Поэтому мои столбцы «Платежи» и «ledger_account_bookings» содержат список диктовок, причем количество списков в диктовке может варьироваться. Небольшой пример фрейма данных выглядит следующим образом:


< tr>
transaction_id
total_amount
дата
платежи
ledger_account_bookings




4308
645,83
30-8-2024
[]
[]


4254
291,67
2-7-2024
[]
[{'ledger_id': '4265', 'сумма' : '291,67'}]


4128
847
14 февраля 2024 г.
[{'pay_id': '4128', 'amount': '847.0'}]
[]


4248
4286,98
25 июня 2024 г.
[{'Payment_id': '4261', 'amount': '400.0'},
 {'Payment_id ': '4262', 'сумма': '11.0'},
 {'Payment_id': '4263', 'Amount': '1668.51'},
 {'Payment_id': '4264', 'сумма': '1868,54'},
 {'платеж_id': '4265', 'сумма': '20,91'},
 {'платеж_ид': '4266', 'сумма': '2,21 '},
 {'pay_id': '4267', 'amount': '309.62'}]
[{'ledger_id': '4265', 'amount': '6,19'}]


4192
6130,22
24 апреля 2024 г.
[{'pay_id': '4193', 'amount': '9,68'}]
[{'ledger_id': '4222', 'amount':'2106.0'},
 {'ledger_id': '4222','amount': '4014.54'}]


4090
1158,98
25- 1-2024
[{'id': '4110','amount': '16.22'},
 {'id': '4111', 'amount': '84.0'},
 {'id': '4112', 'сумма': '41,99'},
 {'id': '4113, 'сумма': '9,11',}
 {'id': '4114', 'amount': '10.0'},
 {'id': '4115', 'amount': '997.16'}]
[{'ledger_id': '4231', 'amount': '-0.32'},
 {'ledger_id': '4231', 'amount': '-0.18'}]



Я хочу, чтобы каждый дикт в одном из столбцов платил илиledger_account_bookings становится строкой в ​​моем фрейме данных. поэтому я могу использовать переменную sum в качестве поля в моем фрейме данных (как вы можете видеть, оно разное для каждой записи). Ожидаемый результат будет выглядеть примерно так:
Я знаю, как добиться этого для одного столбца, например, используя следующий код:

Код: Выделить всё

df_explode = df_financial_mutations.explode(['payments'])
#Normalize the json column into separate columns
df_normalized = json_normalize(df_explode['payments'])
#Add prefix to the columns that were 'exploded'
df_normalized = df_normalized.add_prefix('payments_')
Проблема в том, что у меня есть другой столбецledger_account_bookings с похожими вложенными данными. Если бы я снова вызвал метод «Взорвать», результат стал бы неясным, поскольку я уже развернул столбец платежей, и поэтому в мой фрейм данных были введены «дубликаты» строк. Итак, если платеж был развернут, у меня теперь есть две строки с абсолютно одинаковыми значениями в столбцеledger_account_bookings. Когда я снова разбираю, на этот раз в другом столбце, эти «дубликаты» также разворачиваются, так что мой фрейм данных теперь содержит строки данных, которые не имеют смысла.
Как мне это сделать? решить такую ​​задачу, когда мне нужно взорвать сразу две колонны? Я видел эффективный способ разложить (развернуть) несколько столбцов списка в DataFrame pandas, но, к сожалению, списки платежей иledger_account_bookings могут иметь разный размер, а также могут быть динамическими (например, это возможно иметь 0–5 платежей и 0–5 Ledger_account_bookings, фиксированного значения нет)
Будем очень признательны за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/789 ... -dataframe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Извлечение данных из двух вложенных столбцов в одном кадре данных
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Извлечение данных из двух вложенных столбцов в одном кадре данных
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Извлечение данных из двух вложенных столбцов в одном кадре данных
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Извлечение данных из двух вложенных столбцов в одном кадре данных
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Извлечение данных из двух вложенных столбцов в одном кадре данных
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»