Pandas: объединить данные в одну строку с новыми столбцами - PullRequest
3 голосов
/ 11 апреля 2020

Я новичок в pandas и у меня возникли проблемы с использованием функций merge, join и concatenate в одной строке данных.

Я перебираю несколько строк в таблице и в каждой итерации добавляйте некоторые данные, которые я нашел, в строку, которую я обрабатываю. Я знаю, богохульство! Ты не должен повторяться. Каждая итерация приводит к обращению к серверу, поэтому мне нужно контролировать поток. Там не так много строк. Это только для моего собственного использования. Я обещаю, что не буду повторяться, когда не должен.

Кроме того, мой основной вопрос c заключается в следующем: как добавить данные в данную строку, где новые данные имеют приоритет над существующими данными и есть новые столбцы?

Предположим, у меня есть DataFrame df, который я перебираю по строке:

> df
  c1 c2 c3
0  a  b  c
1  d  e  f

и при переборе по строке 0 я получаю новые данные, которые Я хочу добавить в строку 0. Эти новые данные находятся в df_a:

> df_a
  c4 c5 c6
0  g  h  i

Я хочу добавить данные из df_a в строку 0 из df, поэтому df теперь:

> df
  c1 c2 c3  c4  c5  c6
0  a  b  c   g   h   i
1  d  e  f NaN NaN NaN

Далее я выполняю итерацию в строке 1 и получаю несколько столбцов, которые перекрываются, а некоторые - нет в df_b:

> df_b
  c5 c7 c8
0  j  k  l

И снова я хочу добавить эти данные в строка 1, поэтому df теперь имеет

> df
  c1 c2 c3  c4  c5  c6  c7  c8
0  a  b  c   g   h   i NaN NaN
1  d  e  f NaN   j NaN   k   l

Я не могу перечислить имена столбцов, потому что я не знаю, какими они будут, и новые могут появиться вне моего контроля. У рядов нет ключа, потому что все это выбрасывается после того, как я отключаюсь. Данные, которые я нахожу во время каждой итерации, всегда перезаписывают то, что в настоящее время находится в df.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...