Habrastatistics: kif Habr jgħix mingħajr geektimes

Ħej Habr.

Dan l-artikolu huwa kontinwazzjoni loġika tal-klassifikazzjoni L-aqwa artikli tal-Habr għall-2018. U għalkemm is-sena għadha ma spiċċatx, kif tafu, fis-sajf kien hemm bidliet fir-regoli, għalhekk, sar interessanti li wieħed jara jekk dan affettwax xi ħaġa.

Habrastatistics: kif Habr jgħix mingħajr geektimes

Minbarra l-istatistika attwali, se tiġi pprovduta klassifikazzjoni aġġornata tal-artikoli, kif ukoll xi kodiċi tas-sors għal dawk li huma interessati fil-mod kif taħdem.

Għal dawk li huma interessati f'dak li ġara, il-kontinwazzjoni hija taħt il-qatgħa. Dawk li huma interessati f'analiżi aktar dettaljata ta 'sezzjonijiet tas-sit jistgħu wkoll ifittxu parti li jmiss.

Data mhux ipproċessata

Din il-klassifikazzjoni mhix uffiċjali, u m'għandi l-ebda informazzjoni minn ġewwa. Kif tistgħu taraw faċilment billi tħares lejn il-bar tal-indirizz tal-browser tiegħek, l-artikoli kollha fuq Habré għandhom numerazzjoni kontinwa. Imbagħad hija kwistjoni ta 'teknika, aħna sempliċement naqraw l-artikoli kollha f'ringiela f'linja (f'ħajt wieħed u b'pawżi, sabiex ma tagħbijax is-server). Il-valuri nfushom inkisbu minn parser sempliċi f'Python (sorsi huma disponibbli hawn) u ssejvjat f'fajl csv xi ħaġa bħal din:

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

ipproċessar

Għall-parsing se nużaw Python, Pandas u Matplotlib. Dawk li mhumiex interessati fl-istatistika jistgħu jaqbżu din il-parti u jmorru direttament għall-artikoli.

L-ewwel trid tagħbija s-sett tad-dejta fil-memorja u tagħżel id-dejta għas-sena mixtieqa.

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)

Jirriżulta li din is-sena (għalkemm għadha mhix lesta) fil-ħin tal-kitba, ġew ippubblikati 12715 artiklu. Għal paragun, għall-2018 kollu - 15904. B'mod ġenerali, ħafna - dan huwa madwar 43 artiklu kuljum (u dan huwa biss b'klassifikazzjoni pożittiva; kemm jitniżżlu artikoli totali li marru negattivi jew tħassru, wieħed jista 'biss raden jew bejn wieħed u ieħor stima mill-lakuni fost l-identifikaturi).

Ejja nagħżlu l-oqsma meħtieġa mis-sett tad-dejta. Bħala metriċi se nużaw in-numru ta’ fehmiet, kummenti, valuri ta’ klassifikazzjoni u n-numru ta’ 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

Issa d-dejta ġiet miżjuda mas-sett tad-dejta u nistgħu nużawha. Ejja niġbru d-dejta bil-ġurnata u nieħdu l-valuri medji.

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

Issa l-parti interessanti hija li nistgħu nħarsu lejn il-graffs.

Ejja nħarsu lejn in-numru ta' pubblikazzjonijiet dwar Habré fl-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()

Ir-riżultat huwa interessanti. Kif tistgħu taraw, Habr kien ftit "zalzett" matul is-sena. Ma nafx ir-raġuni.

Habrastatistics: kif Habr jgħix mingħajr geektimes

Għal paragun, l-2018 tidher ftit aktar faċli:

Habrastatistics: kif Habr jgħix mingħajr geektimes

B'mod ġenerali, ma rajt l-ebda tnaqqis drastiku fin-numru ta 'artikoli ppubblikati fl-2019 fuq il-graff. Barra minn hekk, għall-kuntrarju, jidher li saħansitra żdiedet bi ftit mis-sajf.

Iżda ż-żewġ graffs li ġejjin ibaxxuni ftit aktar.

Numru medju ta' fehmiet għal kull artikolu:

Habrastatistics: kif Habr jgħix mingħajr geektimes

Klassifikazzjoni medja għal kull artikolu:

Habrastatistics: kif Habr jgħix mingħajr geektimes

Kif tistgħu taraw, in-numru medju ta’ fehmiet jonqos xi ftit matul is-sena. Dan jista 'jiġi spjegat mill-fatt li artikli ġodda għadhom ma ġewx indiċjati minn magni tat-tiftix, u ma jinstabux daqshekk spiss. Iżda t-tnaqqis fil-klassifikazzjoni medja għal kull artikolu huwa aktar inkomprensibbli. Is-sentiment huwa li l-qarrejja jew sempliċiment m'għandhomx ħin biex iħarsu f'tant artikli jew ma jagħtux attenzjoni lill-klassifikazzjonijiet. Mil-lat tal-programm ta 'premju tal-awtur, din it-tendenza hija spjaċevoli ħafna.

Mill-mod, dan ma seħħx fl-2018, u l-iskeda hija xi ftit jew wisq ugwali.

Habrastatistics: kif Habr jgħix mingħajr geektimes

B'mod ġenerali, is-sidien tar-riżorsi għandhom xi ħaġa dwar xiex jaħsbu.

Imma ejja ma nitkellmux dwar affarijiet ta’ diqa. B'mod ġenerali, nistgħu ngħidu li Habr "salva" il-bidliet tas-sajf b'suċċess pjuttost, u n-numru ta 'artikoli fuq is-sit ma naqasx.

Rating

Issa, fil-fatt, il-klassifikazzjoni. Prosit lil dawk li daħlu fih. Ħa nfakkarkom għal darb'oħra li l-klassifikazzjoni mhix uffiċjali, forsi tlift xi ħaġa, u jekk xi artikolu definittivament għandu jkun hawn, iżda mhux, ikteb, ser inżidha manwalment. Bħala klassifikazzjoni, nuża metriċi kkalkulati, li naħseb irriżultaw li kienu pjuttost interessanti.

L-aqwa artikli skont in-numru ta' fehmiet

L-aqwa artikoli skont il-proporzjon tal-klassifikazzjoni tal-opinjonijiet

L-aqwa artikoli bil-proporzjon tal-kummenti mal-opinjonijiet

L-aktar artikoli kontroversjali

L-aqwa artikoli skont il-klassifikazzjoni

L-aqwa artikoli skont in-numru ta' bookmarks

Fuq mill-proporzjon tal-bookmarks mal-veduti

L-aqwa artikoli skont in-numru ta' kummenti

U fl-aħħar, l-aħħar waħda Antitop minn numru ta 'dislikes

Ugh. Għandi ftit selezzjonijiet aktar interessanti, iżda mhux se niddejjaq lill-qarrejja.

Konklużjoni

Meta bniejt il-klassifikazzjoni, tajt attenzjoni għal żewġ punti li dehru interessanti.

L-ewwelnett, 60% tal-quċċata huma artikoli tal-ġeneru "geektimes". Jekk ikunx anqas minnhom is-sena d-dieħla, u kif se jkun Habr mingħajr artikli dwar birra, spazju, mediċina, eċċ., ma nafx. Il-qarrejja żgur li se jitilfu xi ħaġa. Ejja naraw.

It-tieni nett, il-bookmarks ta 'fuq irriżultaw li kienu ta' kwalità għolja bla mistenni. Dan jinftiehem psikoloġikament; il-qarrejja jistgħu ma jagħtux attenzjoni lill-klassifikazzjoni, iżda jekk l-artiklu hija meħtieġa, imbagħad jiġi miżjud mal-bookmarks tiegħek. U hawnhekk hija preċiżament l-akbar konċentrazzjoni ta 'artikoli utli u serji. Naħseb li s-sidien tas-sit għandhom b'xi mod jaħsbu permezz tal-konnessjoni bejn in-numru ta 'bookmarks u l-programm ta' premjijiet jekk iridu jżidu din il-kategorija partikolari ta 'artikoli hawn fuq Habré.

Xi ħaġa bħal din. Nispera li kien informattiv.

Il-lista ta 'artikoli rriżulta li kienet twila, ukoll, huwa probabbilment għall-aħjar. Qari tajjeb lil kulħadd.

Sors: www.habr.com

Żid kumment