レッスン1 / 2問目

『Series要素の追加・削除・変更』

このレッスンではSeriesに要素を追加・削除・変更する方法について学習していきましょう。

以下の順番で解説します。

  1. 要素の追加
  2. 要素の削除
  3. 要素の変更

では早速見ていきましょう。

Seriesへ要素を追加

まずはSeriesに要素を追加する方法です。

Seriesに要素を追加するには以下のように角括弧でインデックスを指定し追加したい値を代入します。

  1. series = pd.Series(["山田", "田中", "中田"])
  2. series[3] = "高橋"    # 要素を追加
  3. print(series)
0 山田 1 田中 2 中田 3 高橋 dtype: object

要素を追加する方法は辞書型と同じで、上記のように新たなインデックスを指定し追加したい値を代入します。
ここではインデックスに3を指定し、値を追加しましたが連番でなくても構いません(4や5でも可能)。

もう一つ要素を追加する例を見ていきましょう。以下では文字列のインデックスを指定して要素を追加しています。

  1. series = pd.Series(["山田", "田中", "中田"],
  2.          index=["a", "b", "c"])
  3. series["g"] = "高橋"
a 和田 b 田中 c 中田 g 高橋    # 要素を追加 dtype: object

文字列のインデックスを指定することにより値を追加することができました。

Seriesの要素を削除

では続いてSeriesの要素を削除する方法について見ていきましょう。

要素を削除するにはdrop()を使います。
以下のようにSeriesオブジェクトに続けてdrop()を記述し、引数には削除したい要素のインデックスを指定します。

  1. series1 = pd.Series(["山田", "田中", "中田"],
  2.          index=["a", "b", "c"])
  3. series2 = series1.drop("a")
  4. print(series2
b 田中    # インデクスaの要素が削除されている c 中田 dtype: object

注意点としては、drop()は指定要素を削除した新たなSeriesを生成しているという点です。そのため元のオブジェクトには影響はありません。

Seriesの要素を変更

では次はSeriesの要素を変更する方法について見ていきましょう。要素を変更するには変更したい要素のインデックスを指定し、そこに値を代入します。以下の例ではインデックスbの田中を高橋に変更しています。

  1. series = pd.Series(["山田", "田中", "中田"],
  2.          index=["a", "b", "c"])
  3. series["b"] = "tanaka"
  4. print(series)
a 山田 b tanaka    # 要素を変更 c 中田 dtype: object

上記のように要素を変更する方法も追加の場合とほとんど同じです。新たなインデックスを指定した場合は追加となり、既存のインデックスを指定した場合には変更となります。

まとめ

このレッスンではSeriesに要素を追加・削除・変更する方法についてそれぞれ学習しました。

ここでの要点を以下にまとめます。

  • 角括弧でインデックスを指定することで要素を追加・変更することができる。新たなインデックスを指定した場合は追加となり、既存のインデックスを指定した場合は変更となる。
  • 要素の削除はdrop()で行う。
  • 要素の追加・変更は元のSeriesオブジェクトに変更を加えているが、droop()は指定した要素を削除した新たなSeriesオブジェクトを返す。

ではこのレッスンは以上となります。

演習課題にチャレンジしましょう。

Lesson1

seriesの田中を高橋に変更してください。出力は必要ありません。

Lesson2

seriesの山田を削除し、削除した後のSeriesオブジェクトを出力してください。

以下のとおり出力されると正解となります。

1 高橋 2 中田 dtype: object

Last updated:2019/11/5

1    高橋
2    中田
dtype: object
  1. import pandas as pd

  2. series = pd.Series(["山田", "田中", "中田"])

  3. # 1. 田中を高橋に変更してください

  4. series[1] = "高橋"

  5. # 2. 山田を削除してください

  6. series2 = series.drop(0)
  7. print(series2)
main.py
設定
g
n
i
d
a
o
L