将字符串值分配给pandas中的单元格

问题描述 投票:3回答:1

我创建了一个新行来存储所有列的平均值。现在我正在尝试将名称分配给新行的第一个单元格

我已经尝试了通过指向单元格索引来分配值的传统方法。它不会返回任何错误,但似乎不会将值存储在单元格中。

  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
python pandas numpy python-3.6
1个回答
5
投票

对我来说工作很好,但是这里有两个替代方法,用于按最后一行和列名设置值。

首先是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
© www.soinside.com 2019 - 2024. All rights reserved.