Python【前処理】補習塾

【Excel操作のイメージでPandas前処理②】不要な列削除、列(カラム)の確認

Python【前処理】補習塾
【基本データ】(基本情報・リスト)
product_list …商品名と値段の2列、メニュー表みたいなもの。
list_2021 …顧客リスト。登録順につけたIDと、企業名・所在地・電話番号・アドレス・業種を記録している。
【記録データ】
202107_list …日々の販売記録。購入日・ID・商品・合計支払金額を記録しており、毎日新しい行が下に追加される。(商品ごとに記録していたが、個数を記録していない)

今回やりたいことは、次のとおりです。
①df_01から不要なデータ項目(列)を削除したい。
②列名、データフレームのサイズを確認したい。

(準備)顧客リストcsvの読み込み

# pandasを読み込む
import pandas as pd

# pathを指定しておく
path_02 = "(list_2021.csvのコピーしたパス)"

# df_kokyakuにデータ(list_2021.csv)を読み込む
df_kokyaku = pd.read_csv(path_02)

# 先頭5行を見て確認する
df_kokyaku.head()

※df_kokyakuの中身(先頭10行)

不要なデータ項目(列)を削除する .drop(columns=[“列名”])

df_kokyakuには今回利用しないデータ『所在地』『電話番号』がありますが、ExcelだとF列・G列を選んで右クリック→削除とかで列ごと消しますが、その操作は次のようになります。

# ある1列を削除する場合
df = df.drop(columns=["列名"])
# 2列を削除する場合
df = df.drop(columns=["列名1", "列名2"])

削除したい列が3つ以上ある場合、columns=[“列名1”, “列名2”, “列名3”, …]としてやればOKです。
df_01から『所在地』『電話番号』『アドレス』列を削除すると、次のようになります。

# df_kokyakuから『所在地』『電話番号』『アドレス』列を削除して
# df_kokyaku_1という変数に入れる
df_kokyaku_1 = df_kokyaku.drop(columns=["所在地", "電話番号", "アドレス"])

# 結果を確認
df_kokyaku_1.head()

列名(カラム名)について確認する .columns

不意に「今、データ項目(列名)ってどうなってたっけ」と確認したいときがあります。いちいち「.head()」を使っていると不要な中身を見ることになるので、そんなときは列名(カラム名)だけを確認しましょう。

# df_kokyaku_1の列名(カラム名)だけを見る
df_kokyaku_1.columns

これで列名だけを全て見ることができます。
多くなデータになってくると、列の数(カラム数)が100を超えたりしますが、例えば「最初20列だけ見たい」「この間だけ見たい」といった場合、次のような書き方だと見たい部分だけ見ることができます。

# 最初の20列だけを見る
data.columns[:20]

# 途中の20列目~40列目だけを見る
# Pythonは「0, 1, 2,…」という割り振りになっている
data.columns[19:39]

そして、「これ何列あるんだろうか?」と、サイズが気になる場合もよくあります。そんなときは、こうなります。

# 何列あるかを数える
len(data.columns)

# 行数と列数を一気に確認(データのサイズを見る)
data.shape

「len()」はデータの長さを数値として返します。繰り返す処理などで頻繁に登場することになります。

 

 

【プログラミング入門書ランキング】

 

コメント

タイトルとURLをコピーしました