Pandas, DataFrames

Kategori: Python , 11 Eylül 2019 , JanFranco


Bu yazımda Pandas kütüphanesinde DataFrame oluşturmayı ve kullanmayı göstereceğim. DataFrame için kısaca iki boyutlu bir veri yapısıdır diyebiliriz. Veri oluşturmak için numpy kütüphanesini de kullanacağız bu nedenle pandas ve numpy kütüphanelerini import edelim:


import numpy as np
import pandas as pd
DataFrame oluşturmak için DataFrame sınıfını kullanacağız. Sınıfa verileri, indexleri ve sütunları göndereceğiz:


df = pd.DataFrame(data=np.random.randn(3, 3), index=["A", "B", "C"], columns=["Column1", "Column2", "Column3"])
Dataframe'i print() fonksiyonu ile direk konsola yazdırabiliriz. Belirli sütunları almak için sütun isimlerinin bulunduğu bir listeyi dataframe'e gönderebiliriz. Belirli satırları almak için loc() ve iloc() methodlarını kullanabiliriz. loc() methoduna indexin gerçek değerini gönderebiliriz. iloc() methoduna ile sayısal değerler gönderebiliriz:


print(df)
>>
    Column1   Column2   Column3
A -0.295014  0.035103 -0.728136
B -0.379830  0.727662  2.432889
C  2.593900 -0.904052 -1.047249
print(df[["Column1", "Column3"]])
>>
    Column1   Column3
A -0.295014 -0.728136
B -0.379830  2.432889
C  2.593900 -1.047249
print(df.loc["A"])
>>
Column1   -0.295014
Column2    0.035103
Column3   -0.728136
Name: A, dtype: float64
print(df.iloc[0])
>>
Column1   -0.295014
Column2    0.035103
Column3   -0.728136
Name: A, dtype: float64
print(df.loc["A", "Column1"])
>>
-0.2950144096165448
print(df.loc[["A", "B"], ["Column1", "Column2"]])
>>
    Column1   Column2
A -0.295014  0.035103
B -0.379830  0.727662
Yeni bir sütun eklemek için yeni sütun ismini index olarak kullanabiliriz:


df["Column4"] = pd.Series(data=np.random.randn(3), index=["A", "B", "C"])
df["Column5"] = df["Column4"] + df["Column3"] + df["Column2"]
print(df)
>>
    Column1   Column2   Column3   Column4   Column5
A  1.142934  0.178981  1.326154  0.203139  1.708274
B -0.129522  0.216338  0.170764 -1.229664 -0.842562
C -0.809676  0.696225 -0.405766 -0.583093 -0.292634
drop() methodu ile sütunları silebiliriz:


df = df.drop("Column5", axis=1)
print(df)
>>
    Column1   Column2   Column3   Column4
A  1.142934  0.178981  1.326154  0.203139
B -0.129522  0.216338  0.170764 -1.229664
C -0.809676  0.696225 -0.405766 -0.583093
Yeni bir dataframe oluşturalım ve bu dataframdeki verileri filtre olarak kullanarak ilk oluşturduğumuz dataframe'i görüntüleyelim:


df2 = pd.DataFrame(data=np.random.randn(4, 3), index=["A", "B", "C", "D"], columns=["Column1", "Column2", "Column3"])
print(df)
>>
    Column1   Column2   Column3   Column4
A  0.660074  1.798324  0.292120 -1.864340
B  0.247864 -1.696636  1.512425 -0.101230
C  0.647957 -0.449583  1.284698  0.607373
print(df2)
>>
    Column1   Column2   Column3
A  0.158800  0.900473  1.390177
B  0.800807 -0.265974  0.127625
C  1.059084  0.936351  0.606793
D  1.047052  1.575270  0.151056
print(df[df2 > 0])
>>
    Column1   Column2   Column3  Column4
A  0.660074  1.798324  0.292120      NaN
B  0.247864       NaN  1.512425      NaN
C  0.647957 -0.449583  1.284698      NaN
print(df[df["Column2"] > 0])
>>
    Column1   Column2  Column3  Column4
A  0.660074  1.798324  0.29212 -1.86434
print(df[(df["Column2"] > 0) & (df["Column1"] > 0)])
>>
    Column1   Column2  Column3  Column4
A  0.660074  1.798324  0.29212 -1.86434


Sonraki Yazı: Pandas, MultiIndexes
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın