PythonのDataFrameで列を抽出して新しいDataFrameを作成する

スポンサーリンク

列を抽出して新しいDataFrameを作成

4列のDataFrameから、2列を抽出して新しいDataFrameを作成する方法を具体例で
見ていきたいと思います。

import pandas as pd

Pandasライブラリをインポートしています。

df = pd.DataFrame({'date': ['2020-01-01', '2020-01-02', '2020-01-03'],
                   'row1': [1, 2, 3],
                   'row2': [4, 5, 6],
                   'row3': [7, 8, 9]})

新しいDataFrameを作成しています。DataFrameは表形式のデータ構造であり、列ごとに異なるデータを格納できます。

new_df = df[['date', 'row3']]

'new_df'という名前の新しいDataFrameを作成しています。
元のDataFrame 'df' から、'date'列と'row3'列を抽出しています。
抽出したDataFrameから新しいDataFrameを作成しています。

ここで、日付をindex登録して、row3列の合計値を求めてみます。

new_df.set_index('date', inplace=True)

'new_df'のインデックスを'date'列に設定しています。これにより、日付が行のラベルとなります。
'inplace=True'は、変更を元のDataFrameに直接適用することを意味します。

print("sum =", new_df.row3.sum())

'new_df'の'row3'列の合計値を計算して表示しています。
'row3'列は新しいDataFrameの列であり、'sum()'メソッドを使用して合計を求めます。

スポンサーリンク

サンプルコード

下記がサンプルコードになります。

#!/usr/bin/env python3
# coding: UTF-8

import pandas as pd

# 日付のDataFrameを作成します
df = pd.DataFrame({'date': ['2020-01-01', '2020-01-02', '2020-01-03'],
                   'row1': [1, 2, 3],
                   'row2': [4, 5, 6],
                   'row3': [7, 8, 9]})

# date列とrow3列を抽出して新しいDataFrameを作成します
new_df = df[['date', 'row3']]

# 日付列をインデックスとして設定します
new_df.set_index('date', inplace=True)

# 新しいDataFrameを表示します
print(new_df)

print("sum =", new_df.row3.sum())

下記が実行結果になります。

$ ./sample.py 
            row3
date            
2020-01-01     7
2020-01-02     8
2020-01-03     9
sum = 24

スポンサーリンク