Habrastatistics: ahoana ny fiainan'i Habr tsy misy fotoana

Aho Habr.

Ity lahatsoratra ity dia tohin'ny lojika amin'ny naoty Ny lahatsoratra Habr tsara indrindra amin'ny 2018. Ary na dia mbola tsy tapitra aza ny taona, araka ny fantatrao, tamin'ny fahavaratra dia nisy fiovana teo amin'ny fitsipika, araka izany, dia nanjary nahaliana ny mahita raha misy fiantraikany izany.

Habrastatistics: ahoana ny fiainan'i Habr tsy misy fotoana

Ho fanampin'ny antontan'isa tena izy, dia homena naoty nohavaozina ny lahatsoratra, ary koa ny kaody loharano ho an'ireo izay liana amin'ny fomba fiasa.

Ho an'ireo izay liana amin'ny zava-nitranga dia ambany ny tohiny. Afaka mijery ihany koa ireo izay liana amin'ny famakafakana amin'ny antsipiriany bebe kokoa momba ny fizarana amin'ny tranokala ampahany manaraka.

Data matevina

Tsy ofisialy ity naoty ity, ary tsy manana fampahalalana momba ny atiny aho. Araka ny hitanao mora foana amin'ny fijerena ny adiresin'ny navigateur, ny lahatsoratra rehetra ao amin'ny Habré dia manana isa mitohy. Avy eo dia resaka teknika, mamaky fotsiny ny lahatsoratra rehetra misesy amin'ny tsingerina (amin'ny kofehy iray ary miaraka amin'ny fiatoana, mba tsy hampidirana ny server). Ny soatoavina dia azo tamin'ny parser tsotra amin'ny Python (misy loharano eto) ary voatahiry ao anaty rakitra csv toy izao:

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

fanodinana

Ho an'ny parsing dia hampiasa Python, Pandas ary Matplotlib isika. Ireo izay tsy liana amin'ny antontan'isa dia afaka mandingana ity ampahany ity ary mandehana mivantana amin'ny lahatsoratra.

Voalohany dia mila mampiditra ny angona ao anaty fitadidiana ianao ary mifantina angona ho an'ny taona irina.

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)

Hita fa tamin’ity taona ity (na dia mbola tsy vita aza) tamin’ny fotoana nanoratana dia lahatsoratra 12715 2018 no nivoaka. Ho fampitahana, ho an'ny 15904 manontolo - 43. Amin'ny ankapobeny, betsaka - izany dia eo amin'ny XNUMX lahatsoratra isan'andro (ary izany dia miaraka amin'ny naoty tsara ihany; firy ny totalin'ny lahatsoratra alaina izay lasa ratsy na voafafa, dia afaka maminavina ihany. na tombantombana amin'ny ankapobeny avy amin'ny elanelana eo amin'ireo mpamantatra).

Andao hisafidy ireo saha ilaina avy amin'ny angon-drakitra. Amin'ny maha metrika dia hampiasa ny isan'ny fijery, ny fanehoan-kevitra, ny soatoavina naoty ary ny isan'ny tsoratadidy.

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

Amin'izao fotoana izao dia nampidirina amin'ny angona ny angon-drakitra ary azontsika ampiasaina izany. Andeha hovondrona isan'andro ny angona ary alaivo ny sanda antonony.

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

Ankehitriny ny ampahany mahaliana dia ny ahafahantsika mijery ny grafika.

Andeha hojerentsika ny isan'ny famoahana ao amin'ny Habré amin'ny taona 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()

Mahaliana ny vokany. Araka ny hitanao dia "saosisy" kely i Habr nandritra ny taona. Tsy fantatro ny antony.

Habrastatistics: ahoana ny fiainan'i Habr tsy misy fotoana

Raha ampitahaina, 2018 dia toa malefaka kokoa:

Habrastatistics: ahoana ny fiainan'i Habr tsy misy fotoana

Amin'ny ankapobeny, tsy nahita fihenam-bidy be ny isan'ny lahatsoratra nivoaka tamin'ny taona 2019 teo amin'ny tabilao aho. Ambonin'izany, ny mifanohitra amin'izany aza, toa nitombo kely mihitsy aza izany hatramin'ny fahavaratra.

Saingy ny kisary roa manaraka dia mahakivy ahy kokoa.

Salanisan'ny fijerena isaky ny lahatsoratra:

Habrastatistics: ahoana ny fiainan'i Habr tsy misy fotoana

Naoty antonony isaky ny lahatsoratra:

Habrastatistics: ahoana ny fiainan'i Habr tsy misy fotoana

Araka ny hitanao dia mihena kely ny salan'isan'ny fijerena mandritra ny taona. Izany dia azo hazavaina amin'ny zava-misy fa ny lahatsoratra vaovao dia mbola tsy voatanisa amin'ny milina fikarohana, ary tsy hita matetika. Fa ny fihenan'ny salan'isa isaky ny lahatsoratra dia tsy takatry ny saina kokoa. Ny fahatsapana dia ny mpamaky na tsy manam-potoana hijerena lahatsoratra be dia be na tsy miraharaha ny naoty. Avy amin'ny fomba fijerin'ny programa valisoa mpanoratra, ity fironana ity dia tena tsy mahafinaritra.

Raha ny tokony ho izy dia tsy nisy izany tamin'ny 2018, ary ny fandaharam-potoana dia mitovy na latsaka.

Habrastatistics: ahoana ny fiainan'i Habr tsy misy fotoana

Amin'ny ankapobeny, manana zavatra hoeritreretina ny tompon'ny loharanon-karena.

Aoka anefa tsy hiresaka zavatra mampalahelo isika. Amin'ny ankapobeny, afaka milaza isika fa i Habr dia "tafavoaka" ny fiovan'ny fahavaratra, ary tsy nihena ny isan'ny lahatsoratra tao amin'ilay tranokala.

Rating

Ankehitriny, raha ny marina, ny naoty. Arahabaina ireo izay niditra tao. Mamelà ahy hampahatsiahy anao indray fa tsy ofisialy ny naoty, angamba misy zavatra tsy azoko, ary raha misy lahatsoratra tena tokony ho eto, fa tsy izany, soraty, ampiako amin'ny tanana izany. Amin'ny maha-naoty ahy dia mampiasa metrika voaisa aho, izay heveriko fa tena mahaliana.

Lahatsoratra ambony amin'ny isan'ny fijery

Lahatsoratra tsara indrindra amin'ny tahan'ny naoty amin'ny fijerena

Lahatsoratra ambony indrindra amin'ny tahan'ny fanehoan-kevitra amin'ny fijerena

Lahatsoratra ambony indrindra mampiady hevitra

Lahatsoratra ambony amin'ny naoty

Lahatsoratra ambony amin'ny isan'ny tsoratadidy

Ambony amin'ny tahan'ny tsoratadidy amin'ny fijerena

Lahatsoratra ambony indrindra amin'ny isan'ny fanehoan-kevitra

Ary farany, ny farany Antitop amin'ny isan'ny tsy tia

Ugh. Manana safidy mahaliana vitsivitsy kokoa aho, saingy tsy hankaleo ny mpamaky aho.

famaranana

Rehefa nanamboatra ny naoty aho dia nijery teboka roa izay toa mahaliana.

Voalohany, ny 60% amin'ny ambony dia lahatsoratra amin'ny karazana "geektimes". Na ho vitsy amin'izy ireo amin'ny taona ho avy, ary ho toy ny ahoana i Habr raha tsy misy lahatsoratra momba ny labiera, ny habaka, ny fanafody, sns, tsy fantatro. Azo antoka fa ho very zavatra ny mpamaky. Andao hojerena.

Faharoa, ny tsoratadidy ambony dia nivadika ho kalitao tsy nampoizina. Azo takarina ara-tsaina izany; mety tsy hiraharaha ny naoty ny mpamaky, fa raha ny lahatsoratra ilaina, dia ampidirina amin'ny tsoratadidyo izany. Ary eto indrindra ny fifantohana lehibe indrindra amin'ireo lahatsoratra mahasoa sy matotra. Heveriko fa tokony hieritreritra ny tompon'ny tranokala amin'ny fomba ahoana ny fifandraisan'ny isan'ny tsoratadidy sy ny programa valisoa raha te hampitombo io sokajy manokana amin'ny lahatsoratra eto amin'ny Habré io.

Zavatra toy izao. Manantena aho fa nampahafantatra izany.

Ny lisitr'ireo lahatsoratra dia nivadika ho lava, eny, mety ho tsara kokoa izany. Faly mamaky daholo.

Source: www.habr.com

Add a comment