Python 更改数据结构中元素的值
我已导入.xls文件 与 头看起来像这样Python 更改数据结构中元素的值,python,pandas,data-structures,Python,Pandas,Data Structures,我已导入.xls文件 与 头看起来像这样 print(ene2.head()) Country Energy Supply Energy Supply per Capita % Renewable's 15 NaN Petajoules Gigajoules % 16 Afghanistan 321 10
print(ene2.head())
Country Energy Supply Energy Supply per Capita % Renewable's
15 NaN Petajoules Gigajoules %
16 Afghanistan 321 10 78.6693
17 Albania 102 35 100
18 Algeria 1959 51 0.55101
19 American Samoa ... ... 0.641026
假设我使用FOR循环来交换一些值
for value in ene2['Energy Supply']:
if value == 'Petajoules':
value = 'Gigajoules'
print(value)
在循环内部,情况看起来不错
然而,打印头再次
print(ene2.head())
告诉我,没有对数据结构iteslf应用任何更改
尾巴看起来和上面一模一样,但我想它会变的
问题
要使更改有效并在数据结构内部实现,我还应该做些什么?您可以简单地使用:
您可以简单地使用:
而不是:
value = 'Gigajoules'
这样做:
ene2.loc[ene2['Energy Supply'] == value, 'Energy Supply'] = 'Gigajoules'
必须通过使用.loc
筛选正确的行和列,将其设置为相关单元格。另一个答案是更简单的方法,但我想让您了解,您并不是仅使用value=blah来更改数据帧。而不是:
value = 'Gigajoules'
这样做:
ene2.loc[ene2['Energy Supply'] == value, 'Energy Supply'] = 'Gigajoules'
必须通过使用.loc
筛选正确的行和列,将其设置为相关单元格。另一个答案是更简单的方法,但我想让您明白,您并没有仅仅使用value=blah来更改数据帧