Habrastatistics: momwe Habr amakhala wopanda nthawi za geek

Pa Habr.

Nkhaniyi ndi kupitiriza zomveka kwa mlingo Zolemba zabwino kwambiri za Habr za 2018. Ndipo ngakhale kuti chaka sichinathebe, monga mukudziwa, m'chilimwe panali kusintha kwa malamulo, motero, zinali zosangalatsa kuona ngati izi zikukhudza chirichonse.

Habrastatistics: momwe Habr amakhala wopanda nthawi za geek

Kuphatikiza pa ziwerengero zenizeni, zolemba zosinthidwa zidzaperekedwa, komanso ma code code kwa iwo omwe ali ndi chidwi ndi momwe zimagwirira ntchito.

Kwa iwo omwe ali ndi chidwi ndi zomwe zinachitika, kupitiriza kuli pansi pa kudula. Iwo omwe ali ndi chidwi ndi kusanthula mwatsatanetsatane magawo a malowa akhoza kuyang'ananso gawo lotsatira.

Zambiri

Izi ndizosavomerezeka, ndipo ndilibe zambiri zamkati. Monga mukuwonera mosavuta poyang'ana pa adilesi ya msakatuli wanu, zolemba zonse za Habré zimakhala ndi manambala mosalekeza. Ndiye ndi nkhani yaukadaulo, timangowerenga zolemba zonse motsatizana mozungulira (mu ulusi umodzi komanso kupuma, kuti tisakweze seva). Makhalidwe omwewo adapezedwa ndi wolemba wosavuta ku Python (magwero alipo apa) ndikusungidwa mu fayilo ya csv motere:

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

Processing

Poyimitsa tigwiritsa ntchito Python, Pandas ndi Matplotlib. Amene alibe chidwi ndi ziwerengero akhoza kudumpha gawo ili ndi kupita molunjika ku nkhani.

Choyamba muyenera kutsegula deta mu kukumbukira ndikusankha deta ya chaka chomwe mukufuna.

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)

Zikuwonekeratu kuti chaka chino (ngakhale sichinathe) panthawi yolemba, nkhani za 12715 zasindikizidwa. Poyerekeza, kwa chaka chonse cha 2018 - 15904. Nthawi zambiri, zambiri - izi ndi nkhani za 43 patsiku (ndipo izi zimangokhala ndi chiwerengero chabwino; ndi nkhani zingati zomwe zatsitsidwa zomwe sizinali zolakwika kapena zachotsedwa, munthu angangoganiza. kapena kuyerekeza kuchokera pamipata pakati pa zozindikiritsa).

Tiyeni tisankhe minda yofunikira kuchokera ku dataset. Monga ma metrics tidzagwiritsa ntchito kuchuluka kwa mawonedwe, ndemanga, makonda ndi kuchuluka kwa ma bookmark.

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

Tsopano deta yawonjezedwa ku dataset ndipo titha kuigwiritsa ntchito. Tiyeni tigawane ma data ndi tsiku ndikutenga ma avareji.

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

Tsopano gawo losangalatsa ndiloti tikhoza kuyang'ana ma grafu.

Tiyeni tiwone kuchuluka kwa zofalitsa pa Habré mu 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()

Zotsatira zake ndi zosangalatsa. Monga mukuwonera, Habr wakhala "soseji" pang'ono chaka chonse. Sindikudziwa chifukwa chake.

Habrastatistics: momwe Habr amakhala wopanda nthawi za geek

Poyerekeza, 2018 ikuwoneka bwino pang'ono:

Habrastatistics: momwe Habr amakhala wopanda nthawi za geek

Mwambiri, sindinawone kuchepa kwakukulu kwa kuchuluka kwa zolemba zomwe zasindikizidwa mu 2019 pa graph. Komanso, m'malo mwake, zikuwoneka kuti zawonjezeka pang'ono kuyambira m'chilimwe.

Koma ma graph awiri otsatirawa amandikhumudwitsa pang'ono.

Avereji yamawonedwe pamutu uliwonse:

Habrastatistics: momwe Habr amakhala wopanda nthawi za geek

Chiyerekezo pa nkhani iliyonse:

Habrastatistics: momwe Habr amakhala wopanda nthawi za geek

Monga mukuonera, kuchuluka kwa mawonedwe kumachepa pang'ono chaka chonse. Izi zikhoza kufotokozedwa ndi mfundo yakuti nkhani zatsopano sizinalembedwebe ndi injini zosaka, ndipo sizipezeka kawirikawiri. Koma kuchepa kwa chiwerengero cha chiwerengero pa nkhani ndi chosamvetsetseka. Lingaliro ndiloti owerenga mwina alibe nthawi yoyang'ana zolemba zambiri kapena osalabadira mavoti. Kuchokera pamalingaliro a pulogalamu ya mphotho ya wolemba, izi ndizosasangalatsa.

Mwa njira, izi sizinachitike mu 2018, ndipo ndondomekoyi ndi yocheperapo.

Habrastatistics: momwe Habr amakhala wopanda nthawi za geek

Kawirikawiri, eni eni ake ali ndi chinachake choti aganizire.

Koma tisakambe zinthu zachisoni. Mwambiri, tinganene kuti Habr "anapulumuka" m'chilimwe kusintha bwino, ndipo kuchuluka kwa zolemba patsambali sikunachepe.

Kuwerengera

Tsopano, kwenikweni, mlingo. Zabwino zonse kwa amene adalowamo. Ndiroleni ndikukumbutseninso kuti chiwerengerocho ndi chosavomerezeka, mwinamwake ndaphonya chinachake, ndipo ngati nkhani ina iyenera kukhala pano, koma sichoncho, lembani, ndikuwonjezera pamanja. Monga muyeso, ndimagwiritsa ntchito ma metric owerengeka, omwe ndikuganiza kuti adakhala osangalatsa.

Zolemba zapamwamba potengera mawonedwe ambiri

Zolemba zapamwamba potengera kuchuluka kwa mawonedwe

Zolemba zapamwamba potengera ndemanga ku chiŵerengero cha mawonedwe

Nkhani zotsutsana kwambiri

Zolemba zapamwamba povotera

Zolemba zapamwamba potengera kuchuluka kwa ma bookmark

Pamwamba ndi chiŵerengero cha ma bookmark ndi mawonedwe

Zolemba zapamwamba malinga ndi kuchuluka kwa ndemanga

Ndipo potsiriza, wotsiriza Antitop ndi kuchuluka kwa zomwe sakonda

Ugh. Ndili ndi zosankha zingapo zosangalatsa, koma sindidzatopetsa owerenga.

Pomaliza

Popanga mavotiwo, ndinatchera khutu ku mfundo ziwiri zomwe zinkawoneka zosangalatsa.

Choyamba, 60% yapamwamba ndi zolemba zamtundu wa "geektimes". Kaya padzakhala ochepa chaka chamawa, ndipo Habr adzawoneka bwanji popanda zolemba za mowa, malo, mankhwala, ndi zina zotero, sindikudziwa. Ndithudi, owerenga adzataya chinachake. Tiyeni tiwone.

Kachiwiri, ma bookmark apamwamba adakhala amtundu wapamwamba mosayembekezereka. Izi ndi zomveka bwino m'maganizo; owerenga sangamvetsere kuvotera, koma ngati nkhaniyo kufunika, ndiye izo zidzawonjezedwa ku bookmarks anu. Ndipo apa pali mndandanda waukulu kwambiri wa zolemba zothandiza komanso zazikulu. Ndikuganiza kuti eni ake atsamba ayenera kulingalira mwanjira ina kudzera pa kulumikizana pakati pa kuchuluka kwa ma bookmark ndi pulogalamu ya mphotho ngati akufuna kuwonjezera gawo ili la zolemba pano pa Habré.

Chinachake chonga ichi. Ndikukhulupirira kuti inali yodziwitsa.

Mndandanda wa zolemba udakhala wautali, chabwino, mwina ndizabwinoko. Wodala kuwerenga aliyense.

Source: www.habr.com

Kuwonjezera ndemanga