Python 更改数据结构中元素的值

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

我已导入.xls文件 与

头看起来像这样

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来更改数据帧