Pandas2 Series2

Pandasの第2回目となります。

Aidemyさんの講座を受講しながらアウトプットのためにブログを更新しております。

AidemyさんHP → https:// aidemy.net

前回に引き続き、PandasのSeriesについての学習を記事とします。

【要素の追加:append】

Seriesに要素を追加する場合、追加する要素もSeries型である必要があります。
追加したい要素はあらかじめSeries型に変換しておき、追加先のSeries型の変数名.append()とすることで追加できます。

例文

import pandas as pd
fruits = {"banana": 3, "orange": 2}
series = pd.Series(fruits)
print(series)


>>> 出力結果
banana    3
orange    2
dtype: int64

追加する際は、、、

上記series省略
grape = {"grape": 3}  #grapeにデータを代入
series = series.append(pd.Series(grape))  #seriesにgrapeを追加
print(series)


>>> 出力結果
banana    3
orange    2
grape     3  #追加データ
dtype: int64

1文で表現すると、、、

series = series.append(pd.Series([3], index=["grape"]))

となります。

【要素を削除:drop】

Series型の変数がseriesの場合、series.drop("インデックス値")で、指定されたインデックス値を持つ要素を削除することができます。

fruits = {"banana": 3, "orange": 2}
series = pd.Series(fruits)
series= series.drop("banana")


>>> 出力結果
orange    2

【フィルタリング:conditions】

条件に一致する要素を取り出したい場合、Pandasではbool型のシーケンスを指定すると、Trueのものだけを抽出できます。

シーケンスとは、「連続」「順序」のことです。

import pandas as pd

index = ["apple", "orange", "banana", "strawberry", "kiwifruit"]
data = [10, 5, 8, 12, 3]

series = pd.Series(data, index=index)
conditions = [True, True, False, False, False]  #indexの並びに対しTrueとFalseを表示

print(series[conditions])


>>> 出力結果
apple     10 #conditionでTrueとした
orange     5 #conditionでTrueとした

series[ ][ ]のように[ ]を複数並べることでAND条件を指定します。
またはseries[(条件1)&(条件2)]のように指定することができます。
OR条件を指定する場合は、series[(条件1)|(条件2)]のように(条件)を|(ストローク)でつなぎます。

import pandas as pd

index = ["apple", "orange", "banana", "strawberry", "kiwifruit"]
data = [10, 5, 8, 12, 3]

series = pd.Series(data, index=index)

# seriesの要素のうち、dataの値が5以上10未満の要素を含むSeriesを作り、seriesに再代入してください
series = series[series>=5][series<10]    #series[ ][ ]は&の意味

print(series)

>>> 出力結果
orange    5
banana    8
dtype: int64

【ソート:sort/ascending】

Seriesではインデックスとデータ、それぞれソートが行えます。
Series型の変数がseriesの場合、インデックスのソートseries.sort_index()、データのソートはseries.sort_values()で行うことができます。
特に指定しない限りは昇順にソートされますが、引数にascending=Falseを渡すことで降順にソートされます。

例文:昇順にソート

import pandas as pd

index = ["apple", "orange", "banana", "strawberry", "kiwifruit"]
data = [10, 5, 8, 12, 3]

series = pd.Series(data, index=index)
items1 = series.sort_index()  #indexのソートを行う

print(items1)


>>> 出力結果
apple         10   #indexを昇順(a→b→k→o→s)
banana         8
kiwifruit      3
orange         5
strawberry    12

例文:降順にソート

items2 = series.sort_values(ascending=False)  #ascending=Falseにより降順
print(items2)


>>> 出力結果
strawberry    12  #valuesを降順
apple         10
banana         8
orange         5
kiwifruit      3

今回はこれで以上です。

Seriesはこれで終わりで次回よりDataframeに入ります。

お読みいただきましてありがとうございました。

この記事が気に入ったらサポートをしてみませんか?