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のDataFrame(データの選択と抽出編)

Last updated at Posted at 2024-10-06

前記事からの続きです。
前の記事はこちら

利用するデータは説明のため以下のデータを利用します。
今回AMZNの値はすべて数字を入れています。

import pandas as pd

st = pd.DataFrame({'GOOG':[158.56,157.21,167.31,168.42,167.19,165.29,168.83],
                   'AMZN':[186.61,181.96,184.76,185.13,186.33,187.97,188.07]
                   })

行と列の値の関係が見やすいように、df.head(7)の実行結果を表示させます。

実行結果
     GOOG    AMZN
0  158.56  186.61
1  157.21  181.96
2  167.31  184.76
3  168.42  185.13
4  167.19  186.33
5  165.29  187.97
6  168.83  188.07

データの選択と抽出

1. df['column_name']

指定した列のデータを取得します。

print(df['AMZN'])
実行結果
0    186.61
1    181.96
2    184.76
3    185.13
4    186.33
5    187.97
6    188.07
Name: AMZN, dtype: float64

AMAN列のデータが抽出されて表示されます。

2. df.loc[]

ラベル(行名、列名)でデータを選択・抽出します。

# 特定の行と列のデータ
print(df.loc[0,'GOOG'])
実行結果
158.56

0番行目、'GOOG'列の158.56が取得できました。

列の範囲をキーの値を利用して指定ができます。

# 特定の行と列のデータ
print(df.loc[0,'GOOG':'AMZN'])
実行結果
GOOG    158.56
AMZN    186.61
Name: 0, dtype: float64

0番行目のGOOGとAMZNの列の値が取得できました。

もちろん行数の範囲を指定できます。

# 特定の行と列のデータ(行の範囲指定)
print(df.loc[0:2,'GOOG'])
実行結果
0    158.56
1    157.21
2    167.31
Name: GOOG, dtype: float64

loc()はキーの値(カラム名)を指定して値を取得できます。
行についてもキーの値を指定することができます。
※今回行に関して、キーの値を設定がなかったため、Indexの
値を指定しています。

3. df.iloc[]

インデックス(数値)でデータを選択・抽出します。

# 特定の行と列のデータ
print(df.iloc[0, 1])  # 1行目、2列目
実行結果
186.61

0行番目の1番列目の186.61が取得できました。

# 行の範囲を指定
print(df.iloc[1:4])
実行結果
     GOOG    AMZN
1  157.21  181.96
2  167.31  184.76
3  168.42  185.13

1番行目から4番目業手前の3番行目までの範囲が取得できました。

loc[]とiloc[]の違い
loc[] : キーの値を指定することができます。
loc[] : インデックスの値の指定になります。(キーの値は使えません)

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?