Habrastatistics: sida Habr u nool yahay geektimes la'aan

Haye Habr.

Данная ΡΡ‚Π°Ρ‚ΡŒΡ являСтся логичСским ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° Maqaallada Habr ee ugu wanaagsan 2018. И хотя Π³ΠΎΠ΄ Π΅Ρ‰Π΅ Π½Π΅ закончился, Π½ΠΎ ΠΊΠ°ΠΊ извСстно, Π»Π΅Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ измСнСния Π² ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, соотвСтствСнно, стало интСрСсно ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, повлияло Π»ΠΈ это Π½Π° Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ.

Habrastatistics: sida Habr u nool yahay geektimes la'aan

Marka lagu daro tirakoobka dhabta ah, qiimeynta la cusboonaysiiyay ee maqaallada ayaa la bixin doonaa, iyo sidoo kale koodhka isha qaarkood ee kuwa xiiseynaya sida ay u shaqeyso.

Для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ интСрСсно Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎΠΌ. Π’Π΅, ΠΊΠΎΠΌΡƒ интСрСсСн Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² сайта, ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ qaybta xigta.

Xogta ugu horeysa

Qiimayntani waa mid aan rasmi ahayn, mana hayo wax xog ah oo gudaha ah. Sida aad si fudud u arki karto adigoo eegaya ciwaanka browserka, dhammaan maqaallada HabrΓ© waxay leeyihiin nambaro joogto ah. Kadibna waa arrin farsamo, waxaan si fudud u akhrineynaa dhammaan maqaallada isku xigta ee wareegga (hal dun iyo hakad, si aan loo dhejin serverka). Qiimayaasha laftooda waxaa lagu helay baarser fudud oo Python ah (ilo ayaa la heli karaa halkan) oo lagu kaydiyay faylka csv wax sidan oo kale ah:

2019-08-11T22:36Z,https://habr.com/ru/post/463197/,"Blazor + MVVM = Silverlight наносит ΠΎΡ‚Π²Π΅Ρ‚Π½Ρ‹ΠΉ ΡƒΠ΄Π°Ρ€, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Ρ€Π΅Π²Π½Π΅Π΅ Π·Π»ΠΎ Π½Π΅ΠΏΠΎΠ±Π΅Π΄ΠΈΠΌΠΎ",votes:11,votesplus:17,votesmin:6,bookmarks:40,views:5300,comments:73
2019-08-11T05:26Z,https://habr.com/ru/news/t/463199/,"Π’ NASA испытали систСму Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ управлСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ микроспутника Π΄Ρ€ΡƒΠ³ΠΈΠΌ",votes:15,votesplus:15,votesmin:0,bookmarks:2,views:1700,comments:7

Kala shaqeynta

Для парсинга ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python, Pandas ΠΈ Matplotlib. Π’Π΅ ΠΊΠΎΠΌΡƒ статистика нСинтСрСсна, эту Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ сразу ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΡΠΌ.

Marka hore waxaad u baahan tahay inaad ku shubto kaydka xogta xusuusta oo dooro xogta sanadka la rabo.

import pandas as pd
import datetime
import matplotlib.dates as mdates
from matplotlib.ticker import FormatStrFormatter
from pandas.plotting import register_matplotlib_converters


df = pd.read_csv("habr.csv", sep=',', encoding='utf-8', error_bad_lines=True, quotechar='"', comment='#')
dates = pd.to_datetime(df['datetime'], format='%Y-%m-%dT%H:%MZ')
df['datetime'] = dates
year = 2019
df = df[(df['datetime'] >= pd.Timestamp(datetime.date(year, 1, 1))) & (df['datetime'] < pd.Timestamp(datetime.date(year+1, 1, 1)))]

print(df.shape)

Waxa soo baxday in sanadkan (inkasta oo aanu wali dhamaan) wakhtiga la qorayo, 12715 maqaal ayaa la daabacay. Marka la barbardhigo, dhammaan 2018 - 15904. Guud ahaan, wax badan - tani waxay ku saabsan tahay 43 maqaallo maalin kasta (tanina waxay la socotaa kaliya qiimeyn wanaagsan; inta wadarta guud ee maqaallada ayaa la soo dejiyey oo xumaaday ama la tirtiray, mid kaliya ayaa qiyaasi kara ama qiyaas ka qiyaas daldaloolada ka dhex jira tilmaamayaasha).

Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΈΠ· датасСта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ поля. Π’ качСствС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ количСство просмотров, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², значСния Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° ΠΈ количСства Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΉ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ.

def to_float(s):
    # "bookmarks:22" => 22.0
    num = ''.join(i for i in s if i.isdigit())
    return float(num)

def to_int(s):
    # "bookmarks:22" => 22
    num = ''.join(i for i in s if i.isdigit())
    return int(num)

def to_date(dt):
    return dt.date() 

date = dates.map(to_date, na_action=None)
views = df["views"].map(to_int, na_action=None)
bookmarks = df["bookmarks"].map(to_int, na_action=None)
votes = df["votes"].map(to_float, na_action=None)
votes_up = df["up"].map(to_float, na_action=None)
votes_down = df["down"].map(to_float, na_action=None)
comments = df["comments"].map(to_int, na_action=None)

df['date'] = date
df['views'] = views
df['votes'] = votes
df['bookmarks'] = bookmarks
df['up'] = votes_up
df['down'] = votes_down

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² датасСт, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ дням ΠΈ возьмСм усрСднСнныС значСния.

g = df.groupby(['date'])
days_count = g.size().reset_index(name='counts')
year_days = days_count['date'].values
grouped = g.median().reset_index()
grouped['counts'] = days_count['counts']
counts_per_day = grouped['counts'].values
counts_per_day_avg = grouped['counts'].rolling(window=20).mean()
view_per_day = grouped['views'].values
view_per_day_avg = grouped['views'].rolling(window=20).mean()
votes_per_day = grouped['votes'].values
votes_per_day_avg = grouped['votes'].rolling(window=20).mean()
bookmarks_per_day = grouped['bookmarks'].values
bookmarks_per_day_avg = grouped['bookmarks'].rolling(window=20).mean()

Hadda qaybta xiisaha leh ayaa ah inaan eegi karno garaafyada.

Aynu eegno tirada daabacaadaha ee HabrΓ© ee 2019.

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (16, 8)
fig, ax = plt.subplots()

plt.bar(year_days, counts_per_day, label='Articles/day')
plt.plot(year_days, counts_per_day_avg, 'g-', label='Articles avg/day')
plt.xticks(rotation=45)
ax.xaxis.set_major_formatter(mdates.DateFormatter("%d-%m-%Y"))  
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
plt.legend(loc='best')
plt.tight_layout()
plt.show()

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ интСрСсный. Как ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π₯Π°Π±Ρ€ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π³ΠΎΠ΄Π° слСгка «колбасило». ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρƒ я Π½Π΅ знаю.

Habrastatistics: sida Habr u nool yahay geektimes la'aan

Для сравнСния, 2018 выглядит нСсколько Β«Ρ€ΠΎΠ²Π½Π΅Π΅Β»:

Habrastatistics: sida Habr u nool yahay geektimes la'aan

Guud ahaan, maan arag hoos u dhac weyn oo ku yimid tirada maqaallada la daabacay 2019 ee garaafka. Waxaa intaa dheer, liddi ku ah, waxay u muuqataa inay xitaa kor u kacday tan iyo xagaaga.

Laakin labada garaaf ee soo socda ayaa xoogaa iga sii niyad jabiya.

Tirada celceliska ee maqaalkiiba:

Habrastatistics: sida Habr u nool yahay geektimes la'aan

Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡŽ:

Habrastatistics: sida Habr u nool yahay geektimes la'aan

Sida aad arki karto, celceliska tirada aragtiyadu wax yar ayay hoos u dhacaan sanadka oo dhan. Tan waxaa lagu sharxi karaa xaqiiqda ah in maqaallada cusub aan weli lagu tilmaamin makiinadaha raadinta, oo aan la helin marar badan. Laakiin hoos u dhaca celceliska qiimeynta maqaalkiiba waa mid aan la fahmi karin. Dareenka ayaa ah in akhristayaasha aysan si fudud u helin waqti ay ku eegaan maqaallo badan ama aysan fiiro gaar ah u siin qiimeynta. Marka loo eego barnaamijka abaalmarinta qoraaga, isbeddelkani waa mid aad u xun.

By habka, tani ma dhicin 2018, iyo jadwalku waa ka badan ama ka yar xitaa.

Habrastatistics: sida Habr u nool yahay geektimes la'aan

Guud ahaan, milkiilayaasha kheyraadka waxay leeyihiin wax ay ka fikiraan.

Laakiin yaynaan ka hadlin waxyaalaha murugada leh. Guud ahaan, waxaan dhihi karnaa in Habr "ka badbaaday" isbeddelka xagaaga si guul leh, iyo tirada maqaallada goobta ma dhimin.

Qiimeynta

Hadda, dhab ahaantii, qiimeynta. Hambalyo kuwa galay. Aan mar kale ku xasuusiyo in qiimeyntu ay tahay mid aan rasmi ahayn, laga yaabee in aan wax seegay, iyo haddii maqaallada qaarkood ay hubaal tahay inay halkan joogaan, laakiin maaha, qor, waxaan ku dari doonaa gacanta. Qiimayn ahaan, waxaan isticmaalaa qiyaaso la xisaabiyay, kuwaas oo aan filayo inay noqdeen kuwo aad u xiiso badan.

Maqaallada ugu sarreeya tiro aragtiyo ah

Π’ΠΎΠΏ статСй ΠΏΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° ΠΊ просмотрам

Maqaallada ugu sarreeya faallooyinka iyo saamiga aragtida

Π’ΠΎΠΏ самых спорных статСй

Maqaallada ugu sarreeya qiimaynta

Maqaallada ugu sarreeya tirada bookmarks

Ugu sarreeya saamiga bookmarks iyo aragtida

Maqaallada ugu sarreeya tirada faallooyinka

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, послСдний Iska ilaali tirada aan jeclayn

Ugh Waxaan haystaa dhowr xulasho oo xiiso leh, laakiin ma caajisin doono akhristayaasha.

gunaanad

Marka la dhisayo qiimeynta, waxaan u fiirsaday laba qodob oo u muuqday kuwo xiiso leh.

Marka hore, 60% ee sare waa maqaallo ka mid ah nooca "geektimes". Haddii ay yaraan doonaan iyaga sanadka soo socda, iyo waxa Habr u ekaan doono iyada oo aan maqaallo ku saabsan biirka, booska, daawada, iwm, ma aqaan. Dhab ahaantii, akhristayaasha wax waayi doonaan. Aan aragno.

Marka labaad, bookmarks-yada ugu sarreeya waxay noqdeen kuwo tayo sare leh oo lama filaan ah. Tani waa mid maskaxiyan la fahmi karo; akhristayaasha waxaa laga yaabaa inaysan u fiirsan qiimeynta, laakiin haddii maqaalka u baahan tahay, Ρ‚ΠΎ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π΅Ρ‘ добавят. И здСсь ΠΊΠ°ΠΊ Ρ€Π°Π· наибольшая концСнтрация ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΈ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… статСй. Π”ΡƒΠΌΠ°ΡŽ, Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ сайта стоит ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ связь числа Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΉ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ поощрСния, Ссли ΠΎΠ½ΠΈ хотят увСличСния ΠΈΠΌΠ΅Π½Π½ΠΎ этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ статСй здСсь Π½Π° Π₯Π°Π±Ρ€Π΅.

Wax sidan oo kale ah. Waxaan rajeynayaa in ay ahayd wargelin.

Liiska maqaaladu waxay noqdeen kuwo dheer, si fiican, waxay u badan tahay inay u fiican tahay. Akhris wacan qof walba.

Source: www.habr.com

Add a comment