Добавьте значение в Pandas Dataframe из Numpy Array - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть фрейм данных, который имеет (3,1) df-форму, например: -

Мой фрейм данных:

    KDB
0    2
1    7
2    9

И у меня есть массив NumPy, который выглядит следующим образом:

My Numpy Array:

[[40], [50] , [60]]

Я хочу добавить значение указанного индекса c в массиве к моему фрейму данных. Допустим, я хочу добавить «60» к моему фрейму данных. Итак, я хочу, чтобы мой фрейм данных выглядел следующим образом.

Мой новый фрейм данных:

    KDB
0    2
1    7
2    9
3   60

Я написал код, но он не сработало.

new_df = my_df.append(pd.Series(my_array[2][0]), ignore_index=True)

Python выдает эту ошибку "не транслируемый выходной операнд с формой (3,1) не соответствует форме трансляции (3,2)"

Может кто-нибудь помочь мне понять, что я делаю не так?

Спасибо большое!

1 Ответ

0 голосов
/ 14 апреля 2020

Ваш код не вызвал никаких ошибок, но мой DataFrame имеет:

  • 0, 1, 2 в качестве столбца index ,
  • единственные данные столбцы - это KDB .

Но результат неверен, поскольку содержит 2 столбцов.

Чтобы получить правильный результат, используйте следующий код:

my_df.append(pd.Series(my_array[2], index=['KDB']), ignore_index=True)

Хитрость заключается в том, чтобы указать имя столбца в качестве индекса во временной Серии , поэтому значение интерес добавляется в правом столбце.

...