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に入ります。
お読みいただきましてありがとうございました。
この記事が気に入ったらサポートをしてみませんか?