Как добавить строку в индексированный фрейм данных - PullRequest
0 голосов
/ 01 июля 2018

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

Вот мой код:

mycolumns = ['A', 'B']
df = pd.DataFrame(columns=mycolumns)
rows = [[1,2],[3,4],[5,6]]
for row in rows:
   df.loc[len(df)] = row
print(df) 
df = df.set_index('A')
print("\n index\n",df)
print("\n=================")

dict = { 'A': 2 ,'B':5}
df = df.append(dict,ignore_index=True)
print("\n======================\n")
print(df)

Вот вывод:

   A  B
   0  1  2
   1  3  4
   2  5  6

  index
     B
A   
1   2
3   4
5   6

=================

======================

B    A
0  2  NaN
1  4  NaN
2  6  NaN
3  5  2.0

1 Ответ

0 голосов
/ 01 июля 2018

Вы не можете добавить словарь к фрейму данных, так как df.append () требует другого фрейма данных в качестве параметра. Вам нужно немного обойти, чтобы сделать эту работу:

mycolumns = ['A', 'B']
dict = { 'A': 2 ,'B':5}
df2 = pd.DataFrame([[dict.get('A'), dict.get('B')]], columns=mycolumns)
df.append(df2)

Здесь мы сначала создаем новый фрейм данных из словаря (я бы также предложил изменить структуру словаря на {'val_key': [2, 5],}, если вы можете это сделать).

Затем мы можем использовать df.append(df2), чтобы добавить вновь созданный фрейм данных к старому.

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