将字符串赋值给Pandas中的单元格

4

我已经创建了一个新的行,用于存储所有列的平均值。现在我正在尝试为新行的第一个单元格分配名称。

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

  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

对我来说很好用,但这里有两个通过最后一行和列名设置值的替代方法。

第一个方法是使用DataFrame.loc指定索引为最后一个值:

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

或使用-1参数从末行获取数据,可以使用DataFrame.iloc方法,使用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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接