はじめに
Pythonはデータを扱うのにとても便利なプログラミング言語です。その中でもPandas(パンダス)というライブラリを使うと、たくさんのデータを簡単に整理したり計算したりすることができます。本記事では、Pandasを使ってデータフレーム内の列を操作する方法をわかりやすく説明します。
![](https://xkenxkenx.com/wp-content/uploads/2024/05/f1f919d68c58a074eab1d51f7ef04930-300x158.png)
1. Pandasのインストールと基本設定
まず、Pandasを使うためにはPythonにインストールする必要があります。次のコマンドを使います。
pip install pandas
Pandasを使うときは、プログラムの最初に以下のようにインポートします。
import pandas as pd
![](https://xkenxkenx.com/wp-content/uploads/2024/05/fd13a42922daa3c14aa16d798c1589e8-300x158.png)
2. データフレームの作成
データフレームとは、表のような形式でデータを扱うためのものです。次のようにしてサンプルのデータフレームを作成します。
# データを辞書型で準備
data = {'column1': [1, 2, 3], 'column2': [4, 5, 6]}
# Pandasのデータフレームに変換
df = pd.DataFrame(data)
# データフレームの内容を表示
print(df)
これで、以下のような表ができます。
column1 column2
0 1 4
1 2 5
2 3 6
![](https://xkenxkenx.com/wp-content/uploads/2024/05/48d7a09ffdc101067b8a88a99732d0d2-300x158.png)
3. 単一列の計算と更新
単一の列を利用した計算
例えば、column1
の各値に10を加算してみましょう。
df['column1'] = df['column1'] + 10
print(df)
この操作後、column1
の値はすべて10増えます。
column1 column2
0 11 4
1 12 5
2 13 6
![](https://xkenxkenx.com/wp-content/uploads/2024/04/pandasdataframe-300x158.png)
新しい列の追加
次に、column1
の値を2倍にして新しい列new_column
を作成してみましょう。
df['new_column'] = df['column1'] * 2
print(df)
これで、new_column
という新しい列が追加されます。
column1 column2 new_column
0 11 4 22
1 12 5 24
2 13 6 26
![](https://xkenxkenx.com/wp-content/uploads/2024/03/Pandas_Series_DataFrame_Master-300x158.png)
4. 複数列の計算と更新
複数の列を利用した計算
column1
とcolumn2
の合計を計算して、新しい列total
に格納してみましょう。
df['total'] = df['column1'] + df['column2']
print(df)
これで、total
という新しい列が追加されます。
column1 column2 new_column total
0 11 4 22 15
1 12 5 24 17
2 13 6 26 19
条件に基づいた列の更新
次に、column1
の値が3以上の場合、column2
の値を10に更新してみましょう。
df.loc[df['column1'] >= 3, 'column2'] = 10
print(df)
これで、column1
が3以上の行のcolumn2
の値が10に更新されます。
column1 column2 new_column total
0 11 10 22 15
1 12 10 24 17
2 13 10 26 19
5. apply
関数を利用した複雑な計算や更新
apply
関数を使うと、もっと複雑な計算を行うことができます。例えば、column2
の値が4より大きい場合はcolumn1
の値を2倍にし、それ以外の場合はcolumn1
の値に2を加える計算をしてみましょう。
df['new_column'] = df.apply(lambda row: row['column1'] * 2 if row['column2'] > 4 else row['column1'] + 2, axis=1)
print(df)
これで、条件に応じた計算が行われ、新しい値がnew_column
に格納されます。
column1 column2 new_column total
0 11 10 22 15
1 12 10 24 17
2 13 10 26 19
まとめ
本記事では、Pandasを使ってデータフレームの列を操作する基本的な方法から応用的な方法までを説明しました。これらの操作を覚えることで、データを効率よく処理することができるようになります。