はじめに
この記事は、Pandasで条件を満たす行を抽出する|Pythonの続きです
今回は、もとのデータから不要な列を削除して新しくcsvファイルにする
この記事は、以下の著作物を改変して利用しています。
あいちの人口(2024年9月1日現在) 愛知県人口動向調査結果 月報、愛知県、クリエイティブ・コモンズ・ライセンス
表示2.1日本(http://creativecommons.org/licenses/by/2.1/jp/)
データの抽出
複数条件で行を抽出する
1つの条件で行を抽出する方法は前回行ったが、複数の条件で抽出したいときは、&(論理積ANDのとき)でつなぐ
ORのときは「|」、NOTのときは「~」
データフレームから列を削除する
Pandas.DataFrameにあるdropメソッドを用いる
第一引数には削除したい列のラベルを記述する。複数ある場合はリストで記述できる。
axisは1を指定する
サンプルコード
import pandas as pd
# csvファイルをデータフレームに読み込む
df = pd.read_csv('population.csv', encoding='shift_jis')
# 国籍、性別を指定して行を抽出する
df = df[(df["国籍区分"]=="a)日外") & (df["性別"]=="a)男女")]
# 不要な列を削除する
df = df.drop(labels=["県", "国籍区分", "性別", "年齢区分", "内容"], axis=1)
今回は愛知県のデータなので”県”は自明。その他にも不要な列を削除した。
csvファイルに書き出す
Pandas.DataFrameにあるto_csvメソッドを用いるだけ(とても楽!)
第一引数にはファイル名を指定する
そのほかにもオプションとして、ラベルの有無や、文字コードなどが指定できる(今回はデフォルトのまま)
df.to_csv("extracted_pop.csv")
# デフォルトの引数
# df.to_csv("extracted_pop.csv", header=True, index=True, encoding='utf-8')
実行すると、extracted_pop.csvというファイルが実行ディレクトリに作成される
コメントを残す