Skip to content

Instantly share code, notes, and snippets.

@s1rat-dev
Created February 27, 2021 14:07
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/416c6b0f5af8fb1d036ede8fe764fd22 to your computer and use it in GitHub Desktop.
Save s1rat-dev/416c6b0f5af8fb1d036ede8fe764fd22 to your computer and use it in GitHub Desktop.
[PYTHON] Pandas konusunun anlaşılabilirliği adına 15 soruluk örnek ve çözümleri.
import pandas as pd
data = pd.read_csv('GBvideos.csv')
df = pd.DataFrame(data)
##################################################################################
# 1- İlk on kaydı getirin.
result = df.head(10)
# 2- İkinci beş kaydı getirin.
result = df[5:].head()
# 3- Datasette bulunan kolon isimlerini ve sayısını bulunuz.
result = df.columns
result = len(df.columns)
# 4- Aşağıda belirtilen kolonları silin ve geriye kalanları listeleyin.
# (thumbnail_link, comments_disabled, rating_disabled,video_error_or_removed)
df.drop(['thumbnail_link', 'comments_disabled', 'ratings_disabled', 'video_error_or_removed'], inplace=True, axis=1)
result = df
# 5- Beğenme ve beğenmeme sayılarının ortalamasını alınız.
result = df['likes'].mean()
result = df['dislikes'].mean()
# 6- İlk 50 videonun 'like' ve 'dislike' kolonlarını getiriniz.
result = df.head(50)[['likes', 'dislikes', 'title']]
# 7- En çok görüntülenen video hangisidir?
result = df[df['views'] == df['views'].max()][['title', 'views']]
# 8- En düşük görüntülenen video hangisidir?
result = df[df['views'] == df['views'].min()][['title', 'views']]
# 9- En fazla görüntülenen ilk 10 video nelerdir?
result = df.sort_values('views', ascending=False)[['title', 'views']].head(10)
# 10- Kategoriye göre beğeni ortalamalarını sırasıyla getiriniz.
result = df.groupby('category_id')[['category_id', 'likes']].mean().sort_values('likes')
# 11- Kategoriye yorum sayılarını sırasıyla getiriniz.
result = df.groupby('category_id').sum().sort_values('comment_count')['comment_count']
# 12- Her kategoride kaç video vardır?
result = df['category_id'].value_counts()
# 13- Her videonun title uzunluğu bilgisini yeni bir kolonda gösteriniz.
df['len_title'] = df['title'].apply(len)
result = df[['title', 'len_title']].sort_values('len_title').head(10)
# 14- Her video için kullanılan tag sayısını yeni kolonda gösteriniz.
def tagCount(tag):
return len(tag.split('|'))
df['count_tags'] = df['tags'].apply(lambda x: len(x.strip('|')))
df['count_tags'] = df['tags'].apply(tagCount)
result = df
# 14- En popüler videoları listele (like/dislike) oranına göre.
def likeDislikeOranHesapla(dataset):
likes = list(dataset['likes'])
dislikes = list(dataset['dislikes'])
liste = list(zip(likes, dislikes))
oranOranti = []
for like, dislike in liste:
if (like + dislike) == 0:
oranOranti.append(0)
else:
temp = like / (like + dislike)
oranOranti.append(temp)
return oranOranti
df['like_dislike'] = likeDislikeOranHesapla(df)
result = df.loc[37500:,['likes','dislikes','like_dislike']].sort_values('like_dislike',ascending= False).head(16)
'''
likes dislikes like_dislike
37653 96167 0 1.000000
38872 123856 0 1.000000
38009 98209 0 1.000000
38528 103086 0 1.000000
38704 112723 0 1.000000
38188 99719 0 1.000000
38356 100102 0 1.000000
37830 97221 0 1.000000
38445 58921 99 0.998323
37928 45440 78 0.998286
38104 55266 96 0.998266
38272 56155 99 0.998240
37933 35589 91 0.997450
37755 31605 81 0.997444
38416 257843 661 0.997443
38111 37870 103 0.997288
'''
print(result)
# resource => https://www.kaggle.com/datasnaek/youtube-new?select=GBvideos.csv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment