назначить строковое значение ячейке в пандах - PullRequest
3 голосов
/ 20 апреля 2019

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

Я попробовал обычный метод присвоения значения, указав на индекс ячейки. Он не возвращает никакой ошибки, но, похоже, не сохраняет значение в ячейке.

  Items Description Duration  China   Japan   Korea
0      GDP          2012-2013  40000  35000   12000
1      GDP          2013-2014  45000  37000   12500
2      NAN          NAN        42500  36000   12250

data11.loc[2,'Items Description'] = 'Average GDP'

Вместо возврата ниже фрейма данных код все еще дает предыдущий вывод.

  Items Description Duration  China   Japan   Korea
0      GDP          2012-2013  40000  35000   12000
1      GDP          2013-2014  45000  37000   12500
2  Average GDP      NAN        42500  36000   12250

1 Ответ

5 голосов
/ 20 апреля 2019

Для меня неплохо работает, но здесь есть 2 варианта установки значения по последней строке и имени столбца.

Сначала DataFrame.loc с указанием последнего значения индекса путем индексации:

data11.loc[data11.index[-1], 'Items Description'] = 'Average GDP'

или DataFrame.iloc с -1 для полученияпоследняя строка и Index.get_loc для получения позиции столбца Items Description:

data11.iloc[-1, data11.columns.get_loc('Items Description')] = 'Average GDP'

print (data11)
  Items Description   Duration  China  Japan  Korea
0               GDP  2012-2013  40000  35000  12000
1               GDP  2013-2014  45000  37000  12500
2       Average GDP        NAN  42500  36000  12250
...