Habrastatistics: sida Habr u nool yahay geektimes la'aan

Haye Habr.

Maqaalkani waa sii wadida macquulka ah ee qiimeynta Maqaallada Habr ee ugu wanaagsan 2018. In kasta oo sannadku aanu weli dhammaan, sida aad ogtahay, xagaaga waxaa jiray isbeddel ku yimid xeerarka, sidaas awgeed, waxay noqotay mid xiiso leh in la arko haddii tani ay saameynayso wax.

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.

Kuwa xiisaynaya waxa dhacay, sii waditaanka ayaa hoos imanaya. Kuwa xiiseynaya falanqaynta faahfaahsan ee qaybaha goobta ayaa sidoo kale eegi kara 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

Falanqaynta waxaan isticmaali doonaa Python, Pandas iyo Matplotlib. Kuwa aan xiiseyneynin tirakoobka ayaa ka boodi kara qaybtan oo si toos ah u aadaya maqaallada.

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).

Aynu ka doorano goobaha lagama maarmaanka ah ee xogta. Halbeeg ahaan waxaanu isticmaali doonaa tirada aragtida, faallooyinka, qiimayaasha qiimaynta iyo tirada bookmarks.

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

Hadda xogta ayaa lagu daray xogta xogta oo aan isticmaali karno. Aynu ururino xogta maalinti oo aynu qaadano celceliska qiyamka.

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()

Natiijadu waa mid xiiso leh. Sida aad arki karto, Habr wuxuu ahaa wax yar "sausage" sanadka oo dhan. Ma garanayo sababta.

Habrastatistics: sida Habr u nool yahay geektimes la'aan

Marka la barbardhigo, 2018 waxay u egtahay mid yar oo jilicsan:

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

Celceliska qiimeynta maqaalkii:

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 adiga oo ku qiimeeya saamiga aragtida

Maqaallada ugu sarreeya faallooyinka iyo saamiga aragtida

Qodobbada ugu badan ee muranka dhaliyay

Maqaallada ugu sarreeya qiimaynta

Maqaallada ugu sarreeya tirada bookmarks

Ugu sarreeya saamiga bookmarks iyo aragtida

Maqaallada ugu sarreeya tirada faallooyinka

Ugu dambeyntiina, kii ugu dambeeyay 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, ka dibna waxa lagu dari doonaa bookmarks aad. Oo halkan waa si sax ah diiradda ugu weyn ee maqaallada waxtarka leh iyo kuwa halista ah. Waxaan u maleynayaa in mulkiilayaasha goobta ay tahay inay si uun uga fikiraan xidhiidhka ka dhexeeya tirada bookmarks iyo barnaamijka abaal-marinta haddii ay rabaan inay kordhiyaan qaybtan gaarka ah ee maqaallada halkan Habré.

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