Skip to content

Instantly share code, notes, and snippets.

@s1rat-dev
Created February 25, 2021 10:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save s1rat-dev/fdd60adc51010b3717acf69a5269f419 to your computer and use it in GitHub Desktop.
Save s1rat-dev/fdd60adc51010b3717acf69a5269f419 to your computer and use it in GitHub Desktop.
[PYTHON] Pandas ile string fonksiyonlarının kullanımı, stringe özgü fonksiyonların yazımı, expand ve astype kullanımı.
import pandas as pd
#############################################################################
## ##
## ##
## STRING FUNCTIONS IN PANDAS ##
## ##
## ##
#############################################################################
data = pd.read_csv('all_seasons.csv')
data.dropna(inplace= True)
result = data
result = data.columns
#Upper, lower, title
data['player_name'] = data['player_name'].str.upper()
data['player_name'] = data['player_name'].str.lower()
data['player_name'] = data['player_name'].str.title()
# split,len
data[['FirstName','LastName']] = data['player_name'].loc[data['player_name'].str.split().str.len() == 2].str.split(expand= True)
data = data.dropna(subset= ['FirstName','LastName'] , how= 'any')
onAd = 'nicki'
data['Nick'] = onAd + data['player_name'].loc[data['player_name'].str.split().str.len() == 2].str.split(expand= True)[0]
'''
< loc[data['player_name'].str.split().str.len() == 2] > bu kısımda yapılan işlem, bir sorgulama. Yani boolean bir değer döndürecek bir işlem.
Ve dönecek olan değer 'True' ise, < .str.split(expand= True) > halihazırda 'True' değer döndüğü taktirde split() işlemini yapacak olan fonksiyonu çalıştırır.
Yani kodun yorumu;
Eğer kod split işlemi uygulandığında iki ayrı kelime oluşuyorsa - bir nevi split metodu üstünde uygulanabilirse - bunları ayır. Uygulanamazsa ayırma.
('pass' gibi düşünülebilir.)
'''
# find,contains,replace
# data['college'] = data['college'].str.find('a')
# data = data[data['player_name'].str.contains('Jordan')]
# data = data['player_name'].str.replace(' ','*').str.replace('*','_')
################# astype #######################
result = data.head(10)
# result = data['pts'].astype(int)
result = data['pts'].astype(str).str.replace('.','*').head()
'''
0 5*7
1 2*3
2 0*8
3 3*7
4 2*4
astype değer dönüşümüne yarar, yani herhangi bir float değişkeni int'e atayabilir ve küsürattan kurtarabiliriz.
Ya da üstünde değişiklik uygulanacak (replace,find,split vs.) string ifadeler için 'str'ye atanabilir.
'''
print(result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment