Created
February 25, 2021 10:33
-
-
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ı.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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