はじめに
pandasの基本と概要に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇
🦁結論🦁
どういうものです。
押さえておくべき点
- 標準ライブラリではないのでインストールが必要。
- Pythonでは表を使う場合にはほぼ「pandas」を用いる。
- いろんなファイルの読み込みが可能(HTMLも可能)
注意点
- 大規模なデータセットを扱う場合、パフォーマンスとメモリ使用量に注意し、適切なデータ型を選択することが重要。
- Pandasは頻繁に更新されるため、新しいバージョンで非推奨になった機能や新機能をチェックが必要。
Installが必要なライブラリ。
pip install pandas
# もしくは pip3 install pandas
pd.DataFrame()
いつも使う表のイメージ。
indexがあり、columnがある。
書き方は辞書の中にcolumn書いてリスト書くイメージ。
Int、float以外はコーテーション(ダブルも可)を入れる。
import pandas as pd
# 辞書からDataFrameを作成
df = pd.DataFrame({
'A': [1, 2, 3],
'B': ['a', 'b', 'c']
})
print(df)
pd.Series()
シリーズ
columnを持たない、indexと値のみの構造。
シリーズはデータフレームの単一の列と見なすこともできる。
import pandas as pd
data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
※indexは指定する場合のみ。通常は0.1.2...
利用シーン
DataFrameにて特定の行(列)を全選択する。
# カラムAを選択し、シリーズとして取得
series_a = df['A']
シリーズではなくcolumn名を指定して列の全選択
# データフレームの定義
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Paris', 'London']
})
# 'Name'列を選択
df['Name']
シリーズではなく.locや.ilocを使った行の全選択
# 0番目の行を選択(ラベルベース)
row_series_by_label = df.loc[0]
# 0番目の行を選択(位置ベース)
row_series_by_position = df.iloc[0]
DataFrameに新しい列を追加する
# 新しい列Cをデータフレームに追加
df['C'] = pd.Series([100, 200, 300, 400])
DataFrameの特定のcolumnのある条件の値を選択する
# カラムAの値が2より大きい行を選択
filtered_df = df[df['A'] > 2]
DataFrameの特定のcolumnの合計を出したい。
# カラムAの合計を計算
sum_a = df['A'].sum()
読込ができるファイル形式
- CSV: pd.read_csv()
- Excel: pd.read_excel()
- JSON: pd.read_json()
- HTML: pd.read_html()(ウェブページのテーブルを読み込む)
- SQL: pd.read_sql()(SQLデータベースからのデータ読み込み)
- Parquet: pd.read_parquet()
- HDF5: pd.read_hdf()
- Feather: pd.read_feather()
書き込み可能なファイル形式
- CSV: df.to_csv()
- Excel: df.to_excel()
- JSON: df.to_json()
- HTML: df.to_html()(データフレームをHTMLテーブルとして書き出す)
- SQL: df.to_sql()(データフレームをSQLデータベースに書き込む)
- Parquet: df.to_parquet()
- HDF5: df.to_hdf()
- Feather: df.to_feather()
まとめ😺
触りだけだけど、かなりすごいライブラリだなと感じる。
Pythonを扱ってる上では必須のライブラリ。
HTMLにはびっくりした。
これからもさらに深掘りしていきたい。