Pandas Serisi, tablodaki sütuna benzetilebilir. İçerisinde herhangi türden (string, integer vb.) veriyi içerebilir. Çıktı değerleri index numaraları ile birliktedir. Index numaraları da ayrı bir sütunda sunulmaktadır.
Söz dizimi: Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
- data, verileri temsil eder.
- index, birbirinden benzersiz değerlerin listesidir. Eğer benzer sayı veya string ifade varsa varsayılan olarak 0,1,2.. değerlerini atayacaktır.
- dtype, veri türünü temsil etmektedir.
- name, serinin ismini temsil etmektedir.
- copy, giriş verilerini kopyalama işlemini temsil etmektedir.
Örnek-1:
import pandas as pd
series=pd.Series([1,2,3,"Istanbul","Ankara"])
print(f"Seri görüntüsü: \n {series}")
print("\n")
print(f"Seri tipi:{type(series)}")
Çıktı:
Seri görüntüsü: 0 1 1 2 2 3 3 Istanbul 4 Ankara dtype: object Seri tipi:<class 'pandas.core.series.Series'>
Yukarıdaki çıktıda "dtype" kısmının "object" olarak çıkması Pandas Serisi içersinde string ifadelerin olmasından dolayıdır.
Index değerleri değiştirilebilir.
import pandas as pd
myData=[1,2,3,4,5]
myIndex=["a","b","c","d","e"]
mySeries=pd.Series(data=myData,index=myIndex,dtype=float)
mySeries
Çıktı:
a 1.0 b 2.0 c 3.0 d 4.0 e 5.0 dtype: float64
Sözlük değerleriyle de pandas serileri oluşturulabilir.
import pandas as pd
myDict={"06":"ankara","34":"İstanbul","35":"İzmir","16":"Bursa"}
mySeries=pd.Series(data=myDict,name="SozlükSerisi")
mySeries
Çıktı:
06 ankara 34 İstanbul 35 İzmir 16 Bursa Name: SozlükSerisi, dtype: object
İki seri birleştirilerek başka seri oluşturulabilir.
import pandas as pd
#1.Seri
myDict={"06":"ankara","34":"İstanbul","35":"İzmir","16":"Bursa"}
mySeries1=pd.Series(data=myDict,name="SozlükSerisi")
#2.Seri
myList=["Antalya","Tokat","Sivas","Samsun"]
mySeries2=pd.Series(data=myList,index=["07","60","58","55"])
#Yeni Seri
pd.concat([mySeries1,mySeries2])
Çıktı:
06 ankara 34 İstanbul 35 İzmir 16 Bursa 07 Antalya 60 Tokat 58 Sivas 55 Samsun dtype: object
Bir NumPy dizisi üzerinden de pandas serisi oluşturulabilir.
import numpy as np
import pandas as pd
myArray=np.array(np.random.randint(1,20,10))
mySeries=pd.Series(myArray)
mySeries
Çıktı:
0 16 1 2 2 2 3 7 4 16 5 9 6 14 7 14 8 4 9 2 dtype: int32