pandas 入門 基本操作 メソッド

Python

pandasについて

pandasはデータフレームという二次元の表形式のデータを扱うことができます

自分は主にスクレイピングして取得した情報をデータフレームに格納し、エクセル出力をするのに利用しています

環境

windows 11

pandas 2.2.3

まずはインストール

pip install pandas

インポートします 以後、使いやすいように pd とします

import pandas as pd

自分がよく使うメソッドは辞書型データをデータフレームに変換することです

例えばネット通販サイトを selenium でスクレイピングをして、商品情報を辞書型に格納します

その辞書型データをリストに追加していきます

#商品の詳細ページURLが item_href_list に格納されている
#item_pageとしてURLに1ページずつアクセス、情報取得
for item_page in item_href_list:
    driver.get(item_page)
    time.sleep(1)
    
    #商品情報取得
    title=driver.find_element(By.CSS_SELECTOR,"div.labelContainer__a7d91561>h1").text
    price=driver.find_element(By.CSS_SELECTOR,"div[data-testid='price']").text
    info=driver.find_element(By.CSS_SELECTOR,"pre[data-testid='description']").text

    #商品情報リストに追加
    item_dict={"タイトル":title,"価格":price,"詳細":info,"URL":item_page}
    item_detail_list.append(item_dict)

この辞書型の商品情報が入ったリストをデータフレームに変換します

df=pd.DataFrame(item_detail_list)

データフレームを表示してみます

print(df)

#      タイトル 価格  詳細     URL 
# 0    商品A     1000  XXXXX     https://XXXXX
# 1    商品B     1500  XXXXX     https://XXXXX
# 2    商品C     800   XXXXX     https://XXXXX
# 3    商品D     2500  XXXXX     https://XXXXX
# 4    商品E     1100  XXXXX     https://XXXXX

データフレームの値を取得します

a = df.at[2, '価格']
print(a)
# 800

データフレームの値を入力、または修正します

df.at[0, '価格'] = '3000'
print(df.at[0, '価格'])
# 3000

特定の列を抜き出して別のデータフレームを作成します

df_price=df['価格']
print(df_price)
#     価格  
# 0    1000 
# 1    1500  
# 2    800   
# 3    2500  
# 4    1100 

データフレームからリスト形式に変換

title_list = df["タイトル"].tolist()
print(title_list)
#['商品A','商品B','商品C','商品D','商品E']

CSVファイルに出力

df.to_csv('data.csv')

data.csv という名前のcsvファイルがカレントディレクトリに保存されます

保存先をパス指定するなら

df.to_csv(r"download\data.csv")

これは相対パス指定で、カレントディレクトリの中の downloadというディレクトリに、data.csvというファイル名で保存します

パスの指定にraw文字列を使用しています

raw文字列の使い方は以下の記事をご参考ください

同じようにエクセルファイルに出力

df.to_excel(r"download\data.xlsx", sheet_name='No.1')

第一引数に保存先パスと保存するファイル名を指定、第二引数に最初のシート名を指定します

シート名を省力すると、デフォルトの”Sheet1″というシート名になります

コメント