Jupyternotebook(Python3)にてPandasを使いこなすためにには、さまざまな処理方法を理解しておく必要があります。
たとえば、csvやExcelデータなどをpandasのdataframeに取り込もうとする際に、特定の列や特定の行のみを抽出したいケースではどのように処理すればいいのか理解していますか。
ここでは、pandasにてcsvを取り込み、特定の列や行(1行or複数)を抽出する方法について確認していきます。
Pandasでcsvの特定の列を抽出する方法【Jupyternotebookにて指定の列を取り出す(Python3)】
こちらにてPandasでのcsvを取り込む基本的な操作方法について詳しく解説していますが、読み込みの際に特定の列のみをdataframe(データフレーム)に表示させたい時があるでしょう。
以下のようなcsvデータを用いて指定した列を抽出していきます。
このような場合は、以下のコードを入力するといいです。
import pandas as pd
df = pd.read_csv(“sample4.csv”, encoding=”SHIFT_JIS”)
df.loc[:, [“指定したい列のラベル名“]]
と入力するだけで、特定の1列のcsvデータのみをpandasにて表示させることができるのです。
例えば、今回はcsvのnameの列を抽出していくと以下の通りとなります。
import pandas as pd
df = pd.read_csv(“sample4.csv”, encoding=”SHIFT_JIS”)
df.loc[:, [“name”]]
なお、読み込んでいるディレクトリがこのcsvファイルが置いていない場合では、エラーがでるのでその場合は%cd ディレクトリで移動を行うといい(詳しくは別で記載)です。
Jupyternotebookにて指定の複数列の抽出を行う方法【pandasでのcsvの取り込み】
なお、一列だけでなく特定の2列を抽出したいケースもあるでしょう。
このような場面では、最後のコードを以下のよう書き換えるだけでいいです。
import pandas as pd
df = pd.read_csv(“sample4.csv”, encoding=”SHIFT_JIS”)
df.loc[:, [“name”,”size”]]
Pandasでcsvの特定の行を抽出する方法【Jupyternotebookにて指定の行を取り出す(Python3)】
続いて、Jupyternotebookのpandasにてcsvを読み込み、特定の行を抽出する方法について確認していきます。
Pandasにてcsvにて行方向に抽出する際には、まず行の名前を指定するための列ラベルを作るといいです。
以下のように記載することで、name列がラベルと認識されます。そして、この中での特定の行間の情報を抽出したいときには以下のようにコードを入力するといいのです。
import pandas as pd
df = pd.read_csv(“sample4.csv”, encoding=”SHIFT_JIS”)
df_i = df.set_index(‘name’)
print(df_i)
df_i.loc[‘a’:’e’]
なお、csvにおける特定の行間では一行のみを得たいケースでは以下のように入力していきましょう。
import pandas as pd
df = pd.read_csv(“sample4.csv”, encoding=”SHIFT_JIS”)
df_i = df.set_index(‘name’)
print(df_i)
df_i.loc[‘a’]
すると、以下のようcsvにおける特定の行のみの情報を抽出することができました。
Pandasで行を抽出する方法(列ラベルではなく行番号の指定)
なお、いちいち行ラベルを作成していなくても行の番号を入力することで、一部の行のみを抽出することができます。
import pandas as pd
df = pd.read_csv(“sample4.csv”, encoding=”SHIFT_JIS”)
df.loc[6:8]
と入れれば、6行目から8行目までのcsvデータをpandasにて抽出することが可能となるのです。
なお、こちらでもcsvから1行のみを抽出したいのであれば、最後のコードを
import pandas as pd
df = pd.read_csv(“sample4.csv”, encoding=”SHIFT_JIS”)
df.loc[6]
などと入力すればいいです。
まとめ JupyternotebookのPandasでcsvデータの特定の列や行を抽出する方法【指定の行や列を取り出す(python3)】
ここでは、JupyternotebookのPandasでcsvデータの指定した列や行の情報を抽出する方法について確認しました。
Pythonでは、一つ一つ丁寧に処理することが大事なポイントとなってくるので、少しずつ理解を深めていきましょう。
コメント
[…] 削除対象の列が非常に多い場合は、「こちらのpandasにて特定列の抽出する方法」の方が効率いい場合もあるので併せて理解しておきましょう。 […]