0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pandas 基礎操作 逆引きガイド【これをしたい時は?】

Posted at

はじめに

Pandasを使って「〇〇したい」という具体的な目的に対して、どう操作すればよいのかを逆引き形式でまとめました。これさえ見れば、よくあるPandas操作にすぐに対応できるはず!


1. データの準備

1-1. CSVファイルを読み込みたい

df = pd.read_csv('ファイル名.csv')

1-2. Excelファイルを読み込みたい

df = pd.read_excel('ファイル名.xlsx')

1-3. データフレームをCSVファイルに書き出したい

df.to_csv('保存先.csv', index=False)

1-4. データフレームをExcelファイルに書き出したい

df.to_excel('保存先.xlsx', index=False)

2. データの確認

2-1. 最初の数行だけ確認したい

print(df.head())  # デフォルトは最初の5行

2-2. データの統計情報を確認したい

print(df.describe())

2-3. データの列名や行数、データ型を確認したい

print(df.columns)  # 列名
print(df.shape)    # 行数と列数
print(df.dtypes)   # データ型

3. データの選択・フィルタリング

3-1. 特定の列を選択したい

print(df['列名'])  # 列を選択

3-2. 特定の行を選択したい

print(df.loc[行番号])  # 行番号で行を選択

3-3. 条件に合う行を抽出したい

filtered_df = df[df['列名'] > 条件値]

例:年齢が30以上のデータを抽出

filtered_df = df[df['年齢'] >= 30]

4. データの加工

4-1. 新しい列を追加したい

df['新しい列名'] = データ

例:他の列を基に新しい列を追加

df['年収'] = df['時給'] * 2000  # 時給×2000時間で年収を計算

4-2. 列のデータを更新したい

df['列名'] = df['列名'].replace(置換前, 置換後)

4-3. 列を削除したい

df = df.drop(columns=['削除したい列名'])

4-4. 重複する行を削除したい

df = df.drop_duplicates()

5. データの集計・グループ化

5-1. 列ごとの合計や平均を計算したい

print(df['列名'].sum())  # 合計
print(df['列名'].mean())  # 平均

5-2. 特定の列でグループ化し、集計したい

grouped = df.groupby('列名')['集計対象列名'].sum()  # 合計
print(grouped)

例:職業ごとに年齢の平均を計算

grouped = df.groupby('職業')['年齢'].mean()
print(grouped)

5-3. ピボットテーブルを作りたい

pivot_df = df.pivot_table(values='集計対象列名', index='行にしたい列名', columns='列にしたい列名', aggfunc='集計関数')

6. データの欠損値を処理したい

6-1. 欠損値を確認したい

print(df.isnull().sum())  # 列ごとの欠損値の数を表示

6-2. 欠損値を削除したい

df = df.dropna()

6-3. 欠損値を特定の値で埋めたい

df['列名'] = df['列名'].fillna(埋めたい値)

7. データのソート(並び替え)

7-1. 列の値でソートしたい

df_sorted = df.sort_values(by='列名', ascending=True)  # 昇順(小さい順)

例:年齢の降順でソート

df_sorted = df.sort_values(by='年齢', ascending=False)  # 降順(大きい順)

8. 応用操作

8-1. 複数のDataFrameを結合したい

# 縦方向に結合(行を追加)
df_combined = pd.concat([df1, df2])

# 横方向に結合(列を追加)
df_merged = pd.merge(df1, df2, on='共通の列名')

8-2. 行や列を転置したい

df_transposed = df.T  # 行と列を入れ替え

まとめ

この逆引きガイドでは、Pandasで「何をしたいか」に対応する基本的な操作方法を紹介しました。これを参考に、さまざまなデータ操作を素早く実現してください!

他のデータ解析の記事

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?