[解決済み] Pandas DataFrameの行と列のヘッダを変換します。
2022-05-11 16:27:23
質問
私の扱うデータは少し乱雑です。データの中にヘッダー名が入っています。既存のpandas dataframeから行を選び、それを列のヘッダーにする(名前を変える)にはどうしたらよいでしょうか?
というようなことをしたいのですが。
header = df[df['old_header_name1'] == 'new_header_name1']
df.columns = header
解決方法は?
In [21]: df = pd.DataFrame([(1,2,3), ('foo','bar','baz'), (4,5,6)])
In [22]: df
Out[22]:
0 1 2
0 1 2 3
1 foo bar baz
2 4 5 6
列のラベルが2行目(インデックス位置1)の値と等しくなるように設定する。
In [23]: df.columns = df.iloc[1]
インデックスに一意なラベルがある場合は、2行目のラベルを削除します。
In [24]: df.drop(df.index[1])
Out[24]:
1 foo bar baz
0 1 2 3
2 4 5 6
インデックスが一意でない場合、使用することができます。
In [133]: df.iloc[pd.RangeIndex(len(df)).drop(1)]
Out[133]:
1 foo bar baz
0 1 2 3
2 4 5 6
使用方法
df.drop(df.index[1])
が削除されます。
すべて
の行は、2番目の行と同じラベルを持つことになります。一意でないインデックスはこのようなつまずき(または潜在的なバグ)を引き起こす可能性があるため、(Pandasがそれを要求しないとしても)インデックスが一意であるように注意した方が良い場合があります。
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] 空のPandas DataFrameを作成し、それを埋める?
-
[解決済み] pandas DataFrameの特定のセルに対して、インデックスを使用して値を設定する
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Python関数の高度な応用を解説
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み】pandasでdataframeの最初の3行を削除する。