1
0

pandasの基本と概要

Last updated at Posted at 2024-02-24

はじめに

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にはびっくりした。
これからもさらに深掘りしていきたい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0