Pandas

Veri ├žekme i┼člemleri i├žin kullan─▒l─▒r.

Dict'i CSV'ye Çevirme

df = pd.DataFrame({'name': ['Raphael', 'Donatello'],
'mask': ['red', 'purple'],
'weapon': ['sai', 'bo staff']})
ÔÇő
df.to_csv(index=False)
# 'name,mask,weapon\nRaphael,red,sai\nDonatello,purple,bo staff\n'

Temel ─░┼člemler

DataFrame ─░┼člemi

A├ž─▒klama

ÔÇő

df.loc[<i>] = <list>

i. indekse de─čer atama

ÔÇő

df.iloc[<i>] = <list>

i. sat─▒ra de─čer atama (├žok tercih etme)

ÔÇő

df.drop(DATA_FRAME.index, inplace=True)

T├╝m verileri silme

ÔÇő

`df.to_csv(<file

filename>, header=f.tell()==0)`

CSV'ye ekleme (tell dosyan─▒n ba┼č─▒ ise 0 verir)

len(pandas.read_csv(<path_to_csv>))

Veri say─▒s─▒n─▒ bulma

ÔÇő

Tablo ─░┼člemleri

Tablo Olu┼čturma

import pandas as pd
ÔÇő
# List ile tablo olu┼čturma
df = pd.DataFrame(<list>, columns=<list>)
df = pd.DataFrame(list(zip(<col1>, <col2>, <col3>, <col4>)))
df = pd.DataFrame(list(zip(<val_list>, <val_list>)), columns=<col_list>, index = <iname_list>) #
ÔÇő
# Dict ile tablo olu┼čturma
df = pd.DataFrame(<dict>, index=<iname_list>)
df = pd.DataFrame({<col>: <val_list>, ...}, index=<iname_list>)
ÔÇő
# S├╝tun de─či┼čtirme
df.columns = <list>
ÔÇő
# Index de─či┼čtirme (ve df'e uygulama)
df.set_index(<col>, inplace=True)
# Index s─▒f─▒rlama (ve df'e uygulama)
df.reset_index(inplace=True)
# Birden fazla index belirleme
df.set_index(['username', 'email'])

Kullac─▒ tablosu ├Ârne─či ```py from string import ascii_letters, digits import numpy as np import datetime usernames = ['alice36', 'bob_smith', 'eve'] passwords = [''.join(np.random.choice(list(ascii_letters + digits), 8)) for x in range(3)] creation_dates = [datetime.datetime.now().date() - datetime.timedelta(int(x)) for x in np.random.randint(0, 1500, 3)] df = pd.DataFrame({'username': usernames, 'password': passwords, 'date-created': pd.to_datetime(creation_dates)}) df ``` ![](../res/df_ex_tablo_users.png)

Numpy'dan tablo olu┼čturma ```py random_data = np.random.random((4,3)) df_random = pd.DataFrame(random_data, columns=['a', 'b', 'c']) df ``` ![](../res/df_ex_tablo_numpy.png)

Tablo Birle┼čtirme

─░┼člem

A├ž─▒klama

pd.merge(left=<df1>,right=<df2>, left_on=<iname1>, right_on=<iname2>)

Kesi┼čimi (Inner join)

pd.merge(left=<df1>,right=<df2>, how='left', left_on=<iname1>, right_on=<iname2>)

A ve kesim (Left join)

ÔÇő

ÔÇő

Kaynaklar: Pandas Merging DataÔÇő

Tabloyu B├Âlme

Ana yap─▒ df<i┼člem>

─░┼člem

A├ž─▒klama

.dtypes

Tablodaki ├Âzellikleri (attr) listeler

[<col>]

S├╝tun alma (pandas.core.series.Series)

mean()

S├╝tunlar─▒n ortalama de─čerlerini alma

loc[<iname>]

─░ndex ismi ile veri okuma

.loc[[<iname>, ...], <col_list> ]

Tabloyu par├žalama

.head()

Tablonun ba┼č─▒n─▒ g├Âr├╝nt├╝leme

.tail()

Tablonun sonunu g├Âr├╝nt├╝leme

Tablodan Veri Alma

─░┼člem

A├ž─▒klama

[<col>]

S├╝tun alma (pandas.core.series.Series)

df[<col>][<i>]

col s├╝tunundaki i. ├Â─čeye eri┼čme

df.loc[<i>, <col>]

i. ├Â─čenin col verisine eri┼čme

df.describe()

─░statistiksel verileri alma (count mean std min 25 50 75 max)

Tabloda Arama

─░┼člem

A├ž─▒klama

df.loc[df[<column_name>] == <some_value>]

S├╝tunun de─čeri e┼čit olanlar─▒ listeleme

df.loc[df['column_name'].isin(some_values)]

ÔÇő

df.loc[(df['column_name'] >= A) & (df['column_name'] <= B)]

ÔÇő

ÔÜá df['column_name'] >= A & df['column_name'] <= B yap─▒s─▒ parantez olmad─▒─č─▒ndan df['column_name'] >= (A & df['column_name']) <= B ┼čeklinde alg─▒lan─▒r.

Kaynak: StackoverflowÔÇő

Tablo ile ─░lgili Code Snippets

# Max / Sum yap─▒p verileri listeler
idx = pb_all_data.groupby(['post_code'])['items'].transform(max) == pb_all_data['items']
df_items_by_region = pb_all_data[idx]['items'] / pb_all_data.groupby('post_code').sum()['items']
ÔÇő
items_by_region = []
for i in range(100):
x, y = df_items_by_region.index[i]
z = df_items_by_region[i]
items_by_region.append((x, y, z))

Kaynak: StackoverflowÔÇő

Veri ─░┼člemleri

Verileri Okuma

Ana yap─▒ df.<metod> ┼čeklindedir.

<i┼člem>[<i>] ile i. de─čer al─▒n─▒r

Metod

A├ž─▒klama

.loc[[<iname>, ...], <col_name> ]

Birden fazla verinin ├Âzelli─čini alma

.loc[<iname>:<iname>, <col_name>]

─░ki index ismi aras─▒ndaki verileri alma

.iloc[<i>]

─░lk i veriyi alma

.iloc[<i1>:<i2>, <col_i>]

i1 ile i2 aras─▒ndaki col_i. s├╝tunu alma

Verileri De─či┼čtirme

─░┼člem

A├ž─▒klama

df['<col_name'] = <val_list>

S├╝tun ekleme (val_list uzunlu─ču sat─▒r say─▒s─▒na e┼čit olmal─▒)

np.random.choice(<list>, size=len(df)

├ľrnek <val_list>

df[<iname>] = <list>

iname isminde s├╝tun olu┼čturma

df.loc[<i>] = <list>

i. sat─▒rda eleman olu┼čturma

df.loc[<iname>] = {<col_name>: <val>, ...}

Sat─▒r ekleme

df.drop(<iname>)

Sat─▒r (veri) silme

df.drop(<i>, inplace=True)

i. sat─▒r─▒ silme

df.drop(<col_name>, axis=1)

S├╝tun silme

df.drop(<col_name>, axis=1, inplace=True)

De─či┼čikli─či tablo ├╝st├╝nde uygulama

df.index.<iname> = <name>

iname ismindeki s├╝tunun ad─▒n─▒ name yapma

Ek Bilgiler