【python】pandasにてヘッダーの変更(データフレーム)を行う方法【csvやexcel読み込み時など】
大量の科学的データを解析する際には、pythonを初めとしたデータ加工に長けたプログラミングを理解しておくと便利です。
例えば、python(jupyternotebook使用)のpandas機能にてデータをデータフレーム(dateframe)で扱う場面がよくありますが、ヘッダーを上手く変更する方法について理解していますか。
ここでは、pandasにてcsvやexcelの取り込み時にヘッダー(header)を変えたり、データフレームに取り込んだ後にヘッダーを変更したりする方法について解説していきます。
・pandasにてヘッダーを変更する方法1【csvやexcelを取りこむ場合】
・Python(Pandas)にてヘッダー(列名)を変更する方法2【dataframeに取り込み後ではdf.columnsを活用】
・リストを渡してもリストをヘッダー名(列名)の変更ができる【Pandas(Python)】
というテーマで解説していきます。
Pandasにてヘッダー(header)を変更する方法1【csvやexcelを読み込む場合]
まずはpandasにcsvやexcelを読み込む際に数値データのみの場合に基本設定のままデータフレーム(dataframe)に取り込もうとすると以下のように数値自体がヘッダー名となってしまいます。
このような場面ではヘッダーを追加しつつ指定(変更)するとよく、read_csv関数の引数にnames=["a"]のコードを使用していきます。
具体的には、以下の通りです。
import os
os.chdir("C:\\sample")
import pandas as pd
df = pd.read_csv("sample11.csv",encoding="SHIFT_JIS",names=["time","temp"])
df
すると、pandasのデータフレーム(dataframe)のヘッダーが追加・変更されました。
関連記事
Pandasでcsvの読み込みを行う方法【Python】
Python(Pandas)にてヘッダー(列名)を変更する方法2【dataframeに取り込み後ではdf.columnsを活用】
なお、csvを読みこんだ後や自作でデータフレームを一旦は作ったもののやはり列名(ヘッダー名)を変更する必要があることがあります。
このような場面では、df.columns関数を使用するといいです。具体的なサンプルコードは以下の通りです。
import os
os.chdir("C:\\sample")
import pandas as pd
df = pd.read_csv("sample11.csv",encoding="SHIFT_JIS")
df.columns = ["time2","temp2"]
df
以下のようにpandasにおけるヘッダー名の変更が適用されました。
上の例では、ヘッダー名を追加しtime、tempに変え、df.columnsでtime2、temp2とヘッダーを再度変更しているのです。
リストを渡してもリストをヘッダー名(列名)の変更ができる【Pandas(Python)】
なお、多くの量の列数となってくるを一気に変えたい場合は、予めリストに格納しておくのもいいです。
import os
os.chdir("C:\\sample")
import pandas as pd
df = pd.read_csv("sample11.csv",encoding="SHIFT_JIS",names=["time","temp"])
list = ["time2","temp2"]
df.columns=list
df
同じようにデータフレームのヘッダーが変わっていることを確認できますね。
【python】pandasにてヘッダーの変更(データフレーム)を行う方法【csvやexcel読み込み時など】 関連ページ
- 【matplotlib】x軸(軸ラベル)を回転させる方法【python(pandas)】
- 【pandas】csv読み込み時にディレクトリ(フォルダ)を指定する方法【python(pandas)】
- 【python】csvの書き込み(保存)時に列指定を行う方法【pandas(jupyternotebook)での出力】
- 【python】csvの保存先を指定する方法【pandasにおけるdataframe(jupyternotebook)】
- 【python】pandasにて最大値の2番目や最大値を計算する方法【2番目に大きい】
- 【python】pandasにて欠損値(NAN)を補完(置換)・削除する方法【空白行の削除】
- 【python】pandasにてヘッダー(header)を飛ばす方法【複数行のヘッダーがある場合など】