【Pandas】シリーズの作成と要素の追加・削除[Python]

  • URLをコピーしました!
目次

Pandas

前回、Pythonのデータ解析支援ライブラリPandasでよくやる操作として、データフレーム、もしくはシリーズの連結、重複の削除、そして再インデックスするという流れを紹介しました。

その記事を書いていて思ったのが、Series(シリーズ)の使い方は全然勉強していなかったということ。

ということで今回はシリーズの作成とデータの追加・削除の方法を試していきましょう。

それでは始めていきましょう。

シリーズの作成

まずはシリーズの作成方法です。

シリーズの作成方法は2つあって(もしかしたらもっとあるかもですが)、列名と要素のリストを準備してシリーズを作成する方法と列名と要素を辞書としてシリーズを作成する方法です。

列名と要素のリストを準備してシリーズを作成する場合は、「pd.Series(index=列名のリスト, data=要素のリスト, name=シリーズ名)」です。

ちなみにシリーズ名はデータフレームでいう「行名」です。

import pandas as pd

columnname = ['A', 'B', 'C']

data1 = [1, 2, 3]

series1 = pd.Series(index=columnname, data=data1, name='1')

series1

実行結果
A    1
B    2
C    3
Name: 1, dtype: int64

列名と要素を辞書としてシリーズを作成する場合は、「pd.Series(data=列名と要素の辞書, name=シリーズ名)」です。

import pandas as pd

data2 = {'A':1, 'B':2, 'C':3}

series2 = pd.Series(data=data2, name='2')

series2

実行結果
A    1
B    2
C    3
Name: 2, dtype: int64

どちらがいいかと言われると、リストを使うのが好きか、辞書を使うのが好きかで選んでいいような気がします。

ちなみに要素だけで、つまり列名やシリーズ名無しでシリーズを作成することも可能で、その場合列名は自動で「0, 1, 2…」と付けられます。

import pandas as pd

data3 = [1, 2, 3]

series3 = pd.Series(data=data3)

series3

実行結果
0    1
1    2
2    3
dtype: int64
import pandas as pd

data4 = {'A':1, 'B':2, 'C':3}

series4 = pd.Series(data=data4)

series4

実行結果
A    1
B    2
C    3
dtype: int64

要素の追加

次に要素の追加を試していきましょう。

こちらも2つ方法があって、列名を指定して追加する方法と「append」を使う方法です。

まず列名を指定して追加する場合は「シリーズ名[‘列名’] = 値」とします。

import pandas as pd

columnname = ['A', 'B', 'C']

data5 = [1, 2, 3]

series5 = pd.Series(index=columnname, data=data5, name='1')

series5['D'] = 4

series5

実行結果
A    1
B    2
C    3
D    4
Name: 1, dtype: int64

「append」を使う場合は「シリーズ名.append(pd.Series([値], index=[‘列名’]))」です。

import pandas as pd

columnname = ['A', 'B', 'C']

data6 = [1, 2, 3]

series6 = pd.Series(index=columnname, data=data6, name='1')

series6 = series6.append(pd.Series([4], index=['D']))

series6

実行結果
A    1
B    2
C    3
D    4
dtype: int64

結構ややこしいですが、シリーズに追加できるのはシリーズの形式のデータとなるため「pd.Series([値], index=[‘列名’])」として追加する値をシリーズにしてから「append」で追加しています。

この二つの方法においては、列名を指定して追加する方法の方が圧倒的にわかりやすく、簡単に書けるかなと思います。

要素の削除

最後は要素の削除の方法です。

要素の削除をするには「シリーズ名.drop(‘列名’)」とします。

import pandas as pd

columnname = ['A', 'B', 'C']

data7 = [1, 2, 3]

series7 = pd.Series(index=columnname, data=data7, name='1')

series7 = series7.drop('A')

series7

実行結果
B    2
C    3
Name: 1, dtype: int64

これでシリーズに関して基本的なことは学べたと思います。

次回はPandasのデータフレームをmergeという関数で結合する方法を解説していきます。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次