在pandas数据框上使用操作符链接来读取数据,删除不需要的列,重命名列和读取几行
我有一个数据集用于在最终使用之前阅读和清理数据。
我知道如何按照以下独立的步骤来做到这一点:
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]))
但是这个代码产生了下面的错误:
文件“”,第3行
。(del data ['Unnamed:0'])
^
SyntaxError:无效的语法
我不知道我在做什么在逻辑上是可能的。 如果可能的话,任何对正确的文档或代码本身的引用将非常感激。
如果未命名列的位置仍然相同,请使用read_excel
参数names
来设置新的列名称,然后删除不需要的列。 用于select可能使用.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)
另一个可能的解决scheme是重命名列
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)