Habrastatistiek: hoe Habr leef sonder geektye

Haai Habr.

Hierdie artikel is 'n logiese voortsetting van die gradering Die beste artikels van Habr vir 2018. En hoewel die jaar nog nie verby is nie, maar soos u weet, was daar veranderinge in die reëls in die somer, so dit het interessant geword om te sien of dit iets beïnvloed.

Habrastatistiek: hoe Habr leef sonder geektye

Benewens die werklike statistieke, sal daar ook 'n opgedateerde beoordeling van artikels wees, asook 'n paar bronne vir diegene wat belangstel in hoe dit werk.

Vir diegene wat belangstel in wat gebeur het, voortgesit onder die sny. Diegene wat belangstel in 'n meer gedetailleerde ontleding van die afdelings van die webwerf kan ook kyk volgende deel.

Aanvanklike gegewens

Hierdie gradering is nie-amptelik, en ek het geen insiderdata nie. Aangesien dit maklik is om te sien deur na die adresbalk van die blaaier te kyk, het alle artikels op Habré deurlopende nommering. Dan is dit 'n kwessie van tegniek, net in 'n siklus lees ons al die artikels in 'n ry (in een draad en met pouses om nie die bediener te laai nie). Die waardes self is verkry deur 'n eenvoudige Python-ontleder (daar is bronne hier) en gestoor in 'n csv-lêer soos hierdie:

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

Vir ontleding sal ons Python, Pandas en Matplotlib gebruik. Diegene wat nie in statistiek belangstel nie, kan hierdie deel oorslaan en reguit na die artikels gaan.

Eerstens moet jy die datastel in die geheue laai en die data vir die verlangde jaar kies.

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)

Dit blyk dat hierdie jaar (hoewel dit nog nie verby is nie) met die skryf hiervan, 12715 artikels gepubliseer is. Ter vergelyking, vir die hele 2018 - 15904. Oor die algemeen baie - dit is ongeveer 43 artikels per dag (en dit is slegs met 'n positiewe gradering, hoeveel artikels word in totaal gelaai wat negatief geword het of uitgevee is, mens kan slegs raai of rofweg skat deur weglatings tussen identifiseerders).

Kies die vereiste velde uit die datastel. As maatstawwe sal ons die aantal kyke, opmerkings, graderingswaardes en die aantal boekmerke gebruik.

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

Nou is die data by die datastel gevoeg en ons kan dit gebruik. Kom ons groepeer die data volgens dae en neem die gemiddelde waardes.

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

Nou die prettige deel, ons kan na die grafieke kyk.

Kom ons kyk na die aantal publikasies oor Habré in 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()

Die resultaat is interessant. Soos jy kan sien, was Habr gedurende die jaar effens "wors". Ek weet nie die rede nie.

Habrastatistiek: hoe Habr leef sonder geektye

Ter vergelyking, 2018 lyk 'n bietjie "gladder":

Habrastatistiek: hoe Habr leef sonder geektye

Oor die algemeen het ek geen drastiese afname in die aantal gepubliseerde artikels in 2019 op die grafiek gesien nie. Boonop, inteendeel, dit lyk asof dit selfs 'n bietjie gegroei het sedert die somer.

Maar die volgende twee grafieke druk my 'n bietjie meer.

Gemiddelde kyke per artikel:

Habrastatistiek: hoe Habr leef sonder geektye

Gemiddelde gradering per artikel:

Habrastatistiek: hoe Habr leef sonder geektye

Soos u kan sien, is die gemiddelde aantal kyke gedurende die jaar effens verminder. Dit kan verklaar word deur die feit dat nuwe artikels nog nie deur soekenjins geïndekseer is nie, en hulle word nie so gereeld gevind nie. Maar die afname in die gemiddelde gradering per artikel is meer onverstaanbaar. Die gevoel is dat lesers óf eenvoudig nie tyd het om soveel artikels te kyk nie óf nie aandag gee aan die graderings nie. Uit die oogpunt van die skrywersbemoedigingsprogram is hierdie tendens baie onaangenaam.

Terloops, dit was nie die geval in 2018 nie, en die skedule is min of meer gelyk.

Habrastatistiek: hoe Habr leef sonder geektye

Oor die algemeen het hulpbroneienaars iets om oor na te dink.

Maar laat ons nie oor hartseer dinge praat nie. Oor die algemeen kan ons sê dat Habr die somerveranderinge redelik suksesvol "oorleef" het, en die aantal artikels op die webwerf het nie afgeneem nie.

Rating

Nou eintlik, die gradering. Baie geluk aan die wat daarin betree het. Laat ek jou weereens herinner dat die gradering nie-amptelik is, miskien het ek iets gemis, en as een of ander artikel beslis hier moet wees, maar dit is nie, skryf, ek sal dit handmatig byvoeg. As 'n gradering gebruik ek berekende statistieke, wat ek dink nogal interessant was.

Top artikels volgens aantal kyke

Top artikels volgens gradering-tot-kyk-verhouding

Top artikels volgens kommentaar tot kykverhouding

Top mees kontroversiële artikels

Top artikels volgens gradering

Top artikels volgens aantal boekmerke

Top volgens boekmerke tot kykverhouding

Top artikels volgens aantal opmerkings

En uiteindelik, die laaste Antitop volgens die aantal afkeure

Uff. Ek het nog 'n paar interessante keuses, maar ek sal lesers nie verveel nie.

Gevolgtrekking

Toe ek die gradering saamgestel het, het ek aandag gegee aan twee punte wat interessant gelyk het.

Eerstens is 60% van die tops immers artikels van die “geektimes”-genre. Of daar volgende jaar minder van hulle gaan wees, en hoe Habr gaan lyk sonder artikels oor bier, ruimte, medisyne, ensovoorts - ek weet nie. Lesers sal beslis iets mis. Kom ons kyk.

Tweedens het die boekmerkblad onverwags van hoë gehalte geblyk te wees. Dit is sielkundig verstaanbaar, lesers mag nie aandag gee aan die gradering, en as die artikel behoefte, dan sal dit by die boekmerke gevoeg word. En hier is net die grootste konsentrasie nuttige en ernstige artikels. Ek dink die webwerf-eienaars moet op een of ander manier dink oor die verband tussen die aantal boekmerke en die beloningsprogram as hulle hierdie spesifieke kategorie artikels hier op Habré wil vergroot.

Iets soos hierdie. Hoop dit was insiggewend.

Die lys van artikels was lank, wel, dit is waarskynlik vir die beste. Lekker lees almal.

Bron: will.com

Voeg 'n opmerking