我正在尝试重新排列数据框中索引行“Germany”的一行,但出现错误“ TypeError:'method'对象不支持项目分配”,代码如下,
import pandas as pd
import numpy as np
combined_global_fx_currencies = r'x:\xxx\xxx\xxxxx\xxxxx\xxxxxx.xlsx'
global_fx = pd.read_excel(combined_global_fx_currencies)
global_fx['Country'] = ['United States', 'China', 'Euro Zone', 'Japan', 'United Kingdom', 'Australia', 'New Zealand', 'Russia', 'Saudi Arabia', 'Brazil', 'Mexico', 'Canada', 'Switzerlanter']
global_fx = global_fx.set_index('Country')
## Multiplying by 100, cause by default in pandas its not putting in Percetange Terms like it is on the Excel Filed
global_fx['3 Years']= global_fx['3 Years'] * 100
global_fx['1 Year']= global_fx['1 Year'] * 100
global_fx['YTD']= global_fx['YTD'] * 100
global_fx['1 Month']= global_fx['1 Month'] * 100
global_fx['1 Week']= global_fx['1 Week'] * 100
global_fx['Daily']= global_fx['Daily'] * 100
## Add Row for Germany and equated to same values for the Euro Zone which is the Eur/USD
global_fx.loc['Germany'] = global_fx.loc['Euro Zone']
global_fx = global_fx.reset_index
global_fx['Country'] = ['United States', 'China', 'Euro Zone', 'Germany', 'Japan', 'United Kingdom', 'Australia', 'New Zealand', 'Russia', 'Saudi Arabia', 'Brazil', 'Mexico', 'Canada', 'Switzerland']
global_fx = global_fx.set_index('Country')
print(global_fx)
Error : global_fx['Country'] = ['United States', 'China', 'Euro Zone', 'Germany', 'Japan', 'United Kingdom', 'Australia', 'New Zealand', 'Russia', 'Saudi Arabia', 'Brazil', 'Mexico', 'Canada', 'Switzerland'] TypeError: 'method' object does not support item assignment
下面是答案,它将“德国”行重新排列到第四行,并在该行中使用了正确的值。我想要的该行的值与“欧元区”行的值相同。正确使用了重新索引方法。代码如下,
# Rearranging Index and putting index row "Germany" in 3rd Row
global_fx = global_fx.reindex(['United States', 'China', 'Euro Zone', 'Germany', 'Japan', 'United Kingdom', 'Australia', 'New Zealand', 'Russia', 'Saudi Arabia', 'Brazil', 'Mexico', 'Canada', 'Switzerland'])
print(global_fx)