2017-01-05 3 views
2

最終的に使用する前にデータを読み込み、データを読み込み、不要な列を読み込み、列の名前を変更し、少数の行を読み取るために、パンダのデータフレームの演算子連鎖を使用します。

私は次のように別の独立した手順を実行していることを行う方法を知っている:

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

は論理的に可能であるかありません。可能であれば、適切な文書への参照またはコード自体への参照は、非常に高く評価されます。

+1

を '.drop( '名前:0'、軸= 1) '。 – IanS

+0

ありがとう、それは助けてくれました。 @IanS –

答えて

3

名前のない列の位置がまだ同じ場合は、dropで不要な列を削除し、新しい列名を設定する場合はread_excelにパラメータnamesを使用します。

#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) 

別の可能な解決策は、列の名前を変更している:選択するための可能な使用.iloc[226].head(226).ix(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) 
+0

@piRSquared。おめでとう。おそらくあなたは何かのために他の人をフレームすることができますので、彼は禁止されていますか?冗談だ。 –

+0

削除された列が最後の列でない場合も同様ですか? –

関連する問題