2016-11-13 10 views
0

データセットを読み込み、データセットの最初の2つの列を削除しようとしていますが、間違った情報列が削除されているようです。私はthisスレッドを見ていましたが、彼らの提案は期待された答えを与えていません。私のデータセットは6列から始まり、最初の2つを削除する必要があります。スレッドのどこかには、ラベル付きの列をドロップするオプションがありますが、1つのステップで行うことができれば、ドロップするために列に名前を付けないほうがいいでしょう。列を削除する問題

df= pd.read_excel('Data.xls', header=17,footer=246) 
df.drop(df.columns[[0,1]], axis=1, inplace=True) 

ただし、最初の2つではなく、4と5の列を削除しています。私がちょうど完全に欠けているドロップ機能のあるものはありますか?

+0

はdf.columns' 'を印刷し、それはあなたが期待していたもののように見えることを確認してください。おそらく注文はどこかに変わったのだろうか? – JohnE

+0

これは問題だと思われます。 インデックス(['Petajoules'、 'Gigajoules'、 '%']、dtype = 'オブジェクト') Petajoulesはデータセットを視覚的に見ると3番目の列です。最初の2つの列はこれには含まれていません。 df.columnsにない場合、どのように2つの列を削除しますか? –

+1

最初の2つの列が索引に含まれている可能性があります(複数索引)。インデックス列を通常の列に変換する 'df.reset_index()'を試してください。 – JohnE

答えて

0

私はあなたの質問を正しく理解していれば、マルチレベルインデックスがあるので、ドロップ列[0、1]はインデックス以外の列でカウントを開始します。

あなたは列の位置を知っているなら、なぜそれを直接選択しようとしない、など:

df = df.iloc[:, 3:] 
関連する問題