Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:可能使用lambda函数更改列中的名称/反馈_Python_Excel_Pandas_Lambda - Fatal编程技术网

Python 熊猫:可能使用lambda函数更改列中的名称/反馈

Python 熊猫:可能使用lambda函数更改列中的名称/反馈,python,excel,pandas,lambda,Python,Excel,Pandas,Lambda,在从内部获得大量帮助和大量网络搜索后,我即将完成我的库塞拉数据科学作业的一部分(共10部分)。但由于我对Python和Pandas相对缺乏经验,我一直觉得这个问题本可以解决得更好 任务:从此处导入Excel列表: 删除国家名称中带“(”的数字和所有内容。 重命名某些国家的名称(在dicts中) 这就是有效的代码。我能做得更好/更有效的是什么 energy=pd.read_excel('Energy Indicators.xls', sheetname='Ener

在从内部获得大量帮助和大量网络搜索后,我即将完成我的库塞拉数据科学作业的一部分(共10部分)。但由于我对Python和Pandas相对缺乏经验,我一直觉得这个问题本可以解决得更好

任务:从此处导入Excel列表: 删除国家名称中带“(”的数字和所有内容。 重命名某些国家的名称(在dicts中)

这就是有效的代码。我能做得更好/更有效的是什么

energy=pd.read_excel('Energy Indicators.xls',
                 sheetname='Energy',
                 skiprows=[17],
                 skipfooter=38,
                 header=15,
                 index_col=[0],
                 usecols=[2,3,4,5]
                )

energy.index.names=['Country']
energy.rename(columns={'Renewable Electricity Production': '% Renewable'}, inplace=True)
energy=energy.reset_index()
energy.Country=energy.Country.replace(to_replace='\d',value='', regex=True)
energy.Country=energy.Country.replace(to_replace='( \()(.*)(\))',value='', regex=True)
#energy.Country=energy.Country.replace(to_replace='(\.){3}',value='None', regex=True)

dicts = {"Republic of Korea": "South Korea",
           "United States of America": "United States",
           "United Kingdom of Great Britain and Northern Ireland": "United Kingdom",
           "China, Hong Kong Special Administrative Region": "Hong Kong"}

for x in dicts.keys():
    energy.Country.loc[lambda s: s==x]=dicts[x]

熊猫已经有了一个内置的功能:

energy.Country.replace(dicts, inplace=True)