Habrastatistics: kamoo Habr a phelang ntle le linako tsa geek

Hello Habr.

Sengoliloeng sena ke tsoelopele e utloahalang ea lintlha Lingoliloeng tse ntle ka ho fetisisa tsa Habr tsa 2018. 'Me le hoja selemo se e-s'o fele, joalokaha u tseba, lehlabuleng ho ne ho e-na le liphetoho melaong, ka hona, ho ile ha e-ba monate ho bona hore na sena se ama letho.

Habrastatistics: kamoo Habr a phelang ntle le linako tsa geek

Ho phaella ho lipalo-palo tsa sebele, lintlha tse nchafalitsoeng tsa lihlooho li tla fanoa, hammoho le khoutu e itseng ea mohloli bakeng sa ba thahasellang hore na e sebetsa joang.

Bakeng sa ba thahasellang se etsahetseng, ho tsoelapele ho tlas'a sehiloeng. Ba thahasellang tlhahlobo e qaqileng haholoanyane ea likarolo tsa sebaka sa marang-rang le bona ba ka sheba karolo e latelang.

Lintlha tsa pele

Lintlha tsena ha li molaong, 'me ha ke na litaba tsa ka hare. Joalokaha u ka bona habonolo ka ho sheba aterese ea sebatli sa hau, lingoliloeng tsohle tse ho Habré li na le linomoro tse tsoelang pele. Joale ke taba ea mokhoa, re mpa re bala lihlooho tsohle ka tatellano ka potoloho (ka khoele e le 'ngoe le ka likhefu, e le hore re se ke ra laela seva). Litekanyetso ka botsona li fumanoe ke parser e bonolo ho Python (mehloli e teng mona) mme e bolokoe faeleng ea csv ntho e kang ena:

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

Ho sebetsa

Bakeng sa ho bala re tla sebelisa Python, Pandas le Matplotlib. Ba sa thahaselleng lipalo-palo ba ka tlōla karolo ena 'me ba ea ka ho toba lihloohong.

Pele o hloka ho kenya dataset mohopolong ebe o khetha data bakeng sa selemo seo o se batlang.

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)

Hoa etsahala hore selemong sena (le hoja e e-s'o fele) nakong ea ho ngoloa, lihlooho tse 12715 li hatisitsoe. Bakeng sa papiso, bakeng sa 2018 kaofela - 15904. Ka kakaretso, haholo - sena ke lihlooho tse ka bang 43 ka letsatsi ('me sena ke feela ka tekanyo e ntle; ke lihlooho tse kae tse jarollotsoeng tse tsamaileng hampe kapa tse hlakotsoeng, motho a ka hakanya feela. kapa khakanyo e batlang e tsoa ho likheo tse teng lipakeng tsa li-identifiers).

Ha re khetheng libaka tse hlokahalang ho tsoa ho dataset. Joaloka metrics re tla sebelisa palo ea maikutlo, maikutlo, litekanyetso le palo ea li-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

Hona joale data e kenyelelitsoe ho dataset mme re ka e sebelisa. Ha re hlophise data ka letsatsi 'me re nke litekanyetso tse tloaelehileng.

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

Hona joale karolo e thahasellisang ke hore re ka sheba li-graph.

Ha re shebeng palo ea likhatiso ho Habré ka 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()

Phello e thahasellisa. Joalokaha u bona, Habr esale e le "boroso" ho pholletsa le selemo. Ha ke tsebe lebaka.

Habrastatistics: kamoo Habr a phelang ntle le linako tsa geek

Ha ho bapisoa, 2018 e shebahala e le bonolo haholoanyane:

Habrastatistics: kamoo Habr a phelang ntle le linako tsa geek

Ka kakaretso, ha ke bone ho fokotseha ho hoholo ha palo ea lingoliloeng tse hatisitsoeng ka 2019 ho graph. Ho feta moo, ho fapana le hoo, ho bonahala eka e bile e eketsehile hanyenyane ho tloha lehlabula.

Empa li-graph tse peli tse latelang li ntšoenya le ho feta.

Kakaretso ea palo ea maikutlo a sengoliloeng ka 'ngoe:

Habrastatistics: kamoo Habr a phelang ntle le linako tsa geek

Lintlha tse akaretsang ho latela sengoloa:

Habrastatistics: kamoo Habr a phelang ntle le linako tsa geek

Joalokaha u ka bona, palo e tloaelehileng ea lipono e fokotseha hanyane ho pholletsa le selemo. Sena se ka hlalosoa ke taba ea hore lihlooho tse ncha ha li e-s'o ngolisoe ke lienjineri tsa lipatlisiso, 'me ha li fumanehe hangata. Empa ho theoha ha tekanyo ea karolelano ea sehlooho ka seng ha ho utloahale haholoanyane. Maikutlo ke hore babali ha ba na nako ea ho sheba lingoloa tse ngata kapa ha ba ele hloko lintlha. Ho ea ka pono ea lenaneo la moputso oa mongoli, mokhoa ona ha o monate haholo.

Ka tsela, sena ha sea ka sa etsahala ka 2018, 'me kemiso e ntse e feta kapa ka tlase.

Habrastatistics: kamoo Habr a phelang ntle le linako tsa geek

Ka kakaretso, beng ba lisebelisoa ba na le seo ba ka nahanang ka sona.

Empa ha re bueng ka dintho tse bohloko. Ka kakaretso, re ka re Habr "o ile a pholoha" lehlabula le fetoha ka katleho, 'me palo ea lingoliloeng setšeng ha ea ka ea fokotseha.

Lintlha

Joale, ha e le hantle, lintlha. Ke thoholetsa ba keneng ho yona. E-re ke u hopotse hape hore tekanyo ha e molaong, mohlomong ke hlolohetsoe ho hong, 'me haeba sehlooho se itseng se lokela ho ba mona, empa ha se joalo, ngola, ke tla se eketsa ka letsoho. Ha ke lekanya, ke sebelisa metrics e baliloeng, eo ke nahanang hore e ile ea khahla haholo.

Lingoliloeng tse holimo ka palo ea maikutlo

Lingoliloeng tse holimo ho ea ka tekanyo ea maikutlo

Lingoliloeng tse holimo ka maikutlo ho karo-karolelano ea maikutlo

Lingoloa tse tsosang khang haholo

Lingoliloeng tse holimo ka lintlha

Lingoliloeng tse holimo ka palo ea li-bookmark

Holimo ka karolelano ea li-bookmark ho lipono

Lingoliloeng tse holimo ka palo ea maikutlo

Mme qetellong, ya ho qetela Antitop ka palo ea tseo u sa li rateng

Ugh. Ke na le likhetho tse 'maloa tse khahlisang, empa nke ke ka tena babali.

fihlela qeto e

Ha ke ntse ke theha litekanyetso, ke ile ka ela hloko lintlha tse peli tse neng li bonahala li thahasellisa.

Taba ea pele, 60% ea tse holimo ke lingoliloeng tsa mofuta oa "geektimes". Hore na ho tla ba le tse fokolang tsa tsona selemong se tlang, le hore na Habr o tla shebahala joang ntle le lihlooho tse buang ka biri, sebaka, meriana, joalo-joalo, ha ke tsebe. Ka sebele, babali ba tla lahleheloa ke ho hong. Ha re bone.

Taba ea bobeli, li-bookmark tse holimo li ile tsa fetoha tsa boleng bo holimo bo neng bo sa lebelloa. Sena sea utloahala kelellong; babali ba kanna ba se ele hloko lintlha, empa haeba sengoloa ho joalo, joale e tla ekeletsoa ho li-bookmark tsa hau. 'Me mona ke lintlha tse kholo ka ho fetisisa tsa lingoliloeng tse bohlokoa le tse bohlokoa. Ke nahana hore beng ba sebaka sa marang-rang ba lokela ho nahana ka tsela e itseng ka kamano pakeng tsa palo ea li-bookmark le lenaneo la meputso haeba ba batla ho eketsa sehlopha sena sa lihlooho mona Habré.

Ntho e kang ena. Ke tšepa hore e ne e ruta.

Lethathamo la lingoloa le bile le lelelele, hantle, mohlomong le le betere. Ho thabela ho bala bohle.

Source: www.habr.com

Eketsa ka tlhaloso