2017-03-05 4 views
1

私は写真にデータフレームを添付しました。 dfのsubVoyageIDがデフォルトのインデックスです。すべての列名が同じ行に揃うようにsubvoyageIDの隣の空白行を削除しようとしていますが、実行できません。pandas dfの新しいインデックスを設定してデフォルトのインデックスを削除する方法

subVoyageIDは、デフォルトの指標であるので、私は新しいCOL「SVID」にデータをコピーし、新しい列「SVID」にインデックスをリセットし、(下記のコードと写真を参照)

df["SVID"] = df.index 
    df.set_index('SVID') 
    df 

オリジナルDF

orig df

new df

DF結果として得られます

df.info()がx-maxからSVIDまでの5つのカラムを示すので、どのようにしてデフォルトのインデックスであった最初のカラムを取り除きますか?または、ある列にすべての列ラベルを揃えることができる他の方法があります。助けてくれてありがとう。必要rename列列に変換インデックス値のためとあれば

答えて

2

使用reset_index

df = df.reset_index().rename(columns={'subVoyageID':'SVID'}) 
+0

私のか、別の答えは参考になりました場合は、(http://meta.stackexchange.com/a/5235/295067)、それを[受け入れる]を忘れないでください。ありがとう。 – jezrael

1

subVoyageIDためだ、それはあなたのインデックスで、ではありません。 reset_index()を実際の列にするだけです。

>>> df 

     a b c 
myindex   
0  0 1 2 
1  3 4 5 
2  6 7 8 

>>> df.reset_index().rename(columns={df.index.name: 'not my index'}) 

    not my index a b c 
0    0 0 1 2 
1    1 3 4 5 
2    2 6 7 8 
関連する問題