2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pandasのSeriesの使い方を覚える

Last updated at Posted at 2017-12-11

#pandasのSeries

pythonでデータを扱う際に、辞書型、リスト、タプルなど、いろいろな名前のデータがでてきますが、今回はSeriesでつくるデータについて、学ぼうと思います!

環境
・Mac
・Python3系
・numpy,pandas(インストールについては、こちらを参照くださいm(__)m!)

#作る前に、まずはimportします!

#pandasをpdという名前で呼ぶ指定をします
import pandas as pd

#Seriesの頭文字が大文字の点に注意してください!
from pandas import Series

次に、簡単なSeriesのデータを作ってみましょう!

my_obj = Series([2,4,6])

#このような書き方でも大丈夫です!
#my_obj = Series([2,4,6])

print(my_obj)

"""
0    3
1    6
2    9
dtype: int64
"""

出力すると、リストに入れた値(values)と、インデックス(index)とデータ型(このシリーズの場合はint)が表示されます。

それぞれの値や、インデックスにアクセスすることも可能です!


#print(my-new_obj)でも同じです。

my_new_obj.values
#array([2, 4, 6])

my_new_obj.index
#RangeIndex(start=0, stop=3, step=1)
#0から始まり、1つごとに3買い進むindexが振られていることを示します。

#Seriesのインデックスは文字列にすることも可能です!

今回は英語のテストに関するSeriesのデータを作ろうと思います。

english_test = Series([60,80,70],['A','B','C'])
print(english_test)

"""
A    60
B    80
C    70
dtype: int64
"""

インデックスがA-C君に変わりました!

また、違う作り方もあります!

#先に値を渡す!
another_english_test = Series([60,80,70])

#あとでindexを追加!
#イコールな点に注意!
another_english_test.index = (['A','B','C'])

print(another_english_test)

"""
A    60
B    80
C    70
dtype: int64
"""

ポイントの整理をします!
####ポイント
・各要素(値、インデックス)は、リストに入れて渡すこと
・後者の方法でindexを指定する場合は、イコールで値を渡すこと!

#ここからは細かい使い方を勉強していきます!

###indexから値にアクセスする!

english_test['A']
#60

###比較演算子で条件に当てはまる要素を探す

#65より大きい数字を持つインデックスと値を表示
english_test[english_test > 65]

"""
B    80
C    70
dtype: int64
"""

###シリーズを辞書型にする

#to_dict()メソッドを使う
english_test_dict = english_test.to_dict()
english_test_dict

"""
{'A': 60, 'B': 80, 'C': 70}
"""

###先程作った辞書型からシリーズ型のデータを作る

#先程作ったdict型のenglishtestをSeriesの引数に渡す。
english_text_series = Series(english_test_dict)

"""
A    60
B    80
C    70
dtype: int64
"""

###インデックスに名前を付ける

english_test.name = 'python高校object組'
print(english_test)
"""
A    60
B    80
C    70
Name: python高校object組, dtype: int64
"""

###特定のインデックスを削除する

#削除前の値
english_test

"""
A    60
B    80
C    70
Name: python高校init組, dtype: int64
"""

#drop関数を使い、indexを指定
english_test.drop('A')

"""
B    80
C    70
Name: python高校init組, dtype: int64
"""

この時、先程までは角括弧(ブラケット)に引数を渡すことが多くありましたが、dropに関しては丸括弧内に引数を書く点にご注意ください!

#おわりに

null値周りやseries型同士の足し算引き算をする方法も紹介できるのですが、長くなってしまうのでここで終わりにします!

わかりやすい方法等ございましたら、コメントにて教えていただけますと幸いです!m(__)m

2
7
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
2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?