首页 > 解决方案 > 将字符串值分配给熊猫中的单元格

问题描述

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

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

  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

标签: pythonpandasnumpypython-3.6

解决方案


对我来说工作得很好,但这里有 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

推荐阅读