在 pandas 数据帧上使用运算符链接来读取数据、删除不需要的列、重命名列并读取几行
use operator chaining on pandas data frame to read data, del unwanted columns, rename columns and read few rows
我有一个数据集要读取并在最终使用前对数据进行一些清理。
我知道如何通过以下单独的独立步骤来做到这一点:
data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0)
del data['Unnamed: 0']
del data['Unnamed: 1']
data.columns = ['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable']
fdata = data.ix[:226]
现在我想使用运算符链接来完成所有这些步骤。我第一次这样做的尝试写在下面:
data = (pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0)
.(del data['Unnamed: 0'])
.(del data['Unnamed: 1'])
.(columns = ['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable'])
.(ix[:226]))
但是这段代码产生了以下错误:
File "", line 3
.(del data['Unnamed: 0'])
^
SyntaxError: invalid syntax
我不知道我在做什么在逻辑上是否可行。如果可能的话,任何对正确文档或代码本身的引用将不胜感激。
如果未命名列的位置仍然相同,请在read_excel
for set new colum names and then delete unnecessary columns by drop
中使用参数names
。要选择可以使用 .iloc[226]
、.head(226)
、.ix(226)
:
#2 last columns are unnecessary - 2 last values of list in parameter names are 'tmp1' and 'tmp2'
data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0, names=['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable', 'tmp1', 'tmp2'])
.drop(['tmp1','tmp2'], axis=1)
.head(226)
另一个可能的解决方案是重命名列:
data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0)
.drop(['Unnamed: 0','Unnamed: 1'], axis=1)
.rename(columns={'firstcol':'Country', 'secondcol': 'Energy Supply', ...})
.head(226)
我有一个数据集要读取并在最终使用前对数据进行一些清理。
我知道如何通过以下单独的独立步骤来做到这一点:
data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0)
del data['Unnamed: 0']
del data['Unnamed: 1']
data.columns = ['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable']
fdata = data.ix[:226]
现在我想使用运算符链接来完成所有这些步骤。我第一次这样做的尝试写在下面:
data = (pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0)
.(del data['Unnamed: 0'])
.(del data['Unnamed: 1'])
.(columns = ['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable'])
.(ix[:226]))
但是这段代码产生了以下错误:
File "", line 3
.(del data['Unnamed: 0'])
^
SyntaxError: invalid syntax
我不知道我在做什么在逻辑上是否可行。如果可能的话,任何对正确文档或代码本身的引用将不胜感激。
如果未命名列的位置仍然相同,请在read_excel
for set new colum names and then delete unnecessary columns by drop
中使用参数names
。要选择可以使用 .iloc[226]
、.head(226)
、.ix(226)
:
#2 last columns are unnecessary - 2 last values of list in parameter names are 'tmp1' and 'tmp2'
data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0, names=['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable', 'tmp1', 'tmp2'])
.drop(['tmp1','tmp2'], axis=1)
.head(226)
另一个可能的解决方案是重命名列:
data = pd.read_excel('C:\Users\pappu.a.kumar\Documents\data\coursera\python\Energy Indicators.xls',skiprows=17, skip_footer=0)
.drop(['Unnamed: 0','Unnamed: 1'], axis=1)
.rename(columns={'firstcol':'Country', 'secondcol': 'Energy Supply', ...})
.head(226)