Habrastatistics: pehea ke ola ʻana o Habr me ka ʻole o ka manawa
Aloha Habr.
ʻO kēia ʻatikala kahi hoʻomau kūpono o ka helu ʻO nā ʻatikala Habr maikaʻi loa no 2018. A ʻoiai ʻaʻole i pau ka makahiki, e like me kou ʻike, i ke kauwela ua hoʻololi ʻia nā lula, no laila, ua lilo ia i mea hoihoi e ʻike inā pili kēia i kekahi mea.
Ma waho aʻe o nā ʻikepili maoli, e hāʻawi ʻia kahi helu hou o nā ʻatikala, a me kekahi code kumu no ka poʻe hoihoi i ke ʻano o ka hana.
No ka poʻe hoihoi i ka mea i hana ʻia, aia ka hoʻomau ma lalo o ka ʻoki. Hiki ke nānā aku ka poʻe i makemake i ka ʻike kikoʻī o nā ʻāpana o ka pūnaewele ʻāpana aʻe.
ʻIkepili mua
ʻAʻole mana kēia helu, a ʻaʻohe oʻu ʻike i loko. E like me kāu e ʻike maʻalahi ai ma ka nānā ʻana i ka pahu helu helu o kāu polokalamu kele pūnaewele, loaʻa nā ʻatikala āpau ma Habré i ka helu mau. A laila he mea ia o ka ʻenehana, heluhelu wale mākou i nā ʻatikala a pau i ka lālani i kahi pōʻai (i hoʻokahi kaula a me nā hoʻomaha, i ʻole e hoʻouka i ke kikowaena). Loaʻa nā waiwai iā lākou iho e kahi parser maʻalahi ma Python (loaʻa nā kumu maanei) a mālama ʻia i kahi faila csv e like me kēia:
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ʻomākaukau
No ka parsing e hoʻohana mākou iā Python, Pandas a me Matplotlib. Hiki i ka poʻe hoihoi ʻole i ka helu helu ke hoʻokuʻu i kēia ʻāpana a hele pololei i nā ʻatikala.
Pono mua ʻoe e hoʻouka i ka ʻikepili i ka hoʻomanaʻo a koho i ka ʻikepili no ka makahiki i makemake ʻia.
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)
ʻIke ʻia i kēia makahiki (ʻoiai ʻaʻole i pau) i ka manawa i kākau ʻia ai, 12715 mau ʻatikala i paʻi ʻia. No ka hoʻohālikelike, no ka holoʻokoʻa 2018 - 15904. Ma keʻano laulā, he nui - e pili ana kēia i nā ʻatikala 43 i kēlā me kēia lā (a ʻo kēia wale nō me ka helu maikaʻi; ʻehia ka nui o nā ʻatikala i hoʻoiho ʻia i hele maikaʻi ʻole a i holoi ʻia paha, hiki ke koho wale. a i ʻole e hoʻohālikelike ʻia mai nā āpau i waena o nā mea ʻike).
E koho kākou i nā kahua kūpono mai ka waihona. E like me nā metric e hoʻohana mākou i ka helu o nā manaʻo, nā manaʻo, nā helu helu a me ka helu o nā 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
I kēia manawa ua hoʻohui ʻia ka ʻikepili i ka dataset a hiki iā mākou ke hoʻohana. E hui pū kākou i ka ʻikepili ma ka lā a lawe i nā waiwai maʻamau.
He hoihoi ka hopena. E like me kāu e ʻike ai, he "sausage" ʻo Habr i loko o ka makahiki. ʻAʻole maopopo iaʻu ke kumu.
No ka hoʻohālikelike, ʻoi aku ka maʻalahi o ka 2018:
Ma ka laulā, ʻaʻole au i ʻike i kahi emi nui o ka nui o nā ʻatikala i paʻi ʻia ma 2019 ma ka pakuhi. Eia kekahi, ma ka ʻokoʻa, ʻike ʻia ua piʻi iki aʻe mai ke kauwela.
Akā ʻo nā kiʻi ʻelua e hiki mai ana ke hoʻohaʻahaʻa iki iaʻu.
Ka helu awelika o ka nānā ʻana i kēlā me kēia ʻatikala:
Ka helu maʻamau no kēlā me kēia ʻatikala:
E like me kāu e ʻike ai, ua emi iki ka awelika o ka nānā ʻana i ka makahiki. Hiki ke wehewehe ʻia kēia ma ka ʻike ʻana ʻaʻole i kuhikuhi ʻia nā ʻatikala hou e nā ʻenekini huli, a ʻaʻole i ʻike pinepine ʻia. Akā ʻoi aku ka maopopo ʻole o ka emi ʻana o ka helu awelika no kēlā me kēia ʻatikala. ʻO ka manaʻo, ʻaʻohe manawa o ka poʻe heluhelu e nānā i nā ʻatikala he nui a ʻaʻole hoʻolohe i nā helu. Mai ka manaʻo o ka papahana uku o ka mea kākau, ʻoluʻolu loa kēia ʻano.
Ma ke ala, ʻaʻole i hana ʻia kēia ma 2018, a ʻoi aku ka liʻiliʻi o ka papahana.
Ma keʻano laulā, loaʻa i nā mea waiwai kahi mea e noʻonoʻo ai.
Akā, mai kamaʻilio kākou no nā mea kaumaha. Ma ka laulā, hiki iā mākou ke ʻōlelo ua "ola" ʻo Habr i ke kauwela i hoʻololi maikaʻi ʻia, a ʻaʻole i emi ka helu o nā ʻatikala ma ka pūnaewele.
Ka helu inoa
I kēia manawa, ʻoiaʻiʻo, ka helu. Hoʻomaikaʻi i ka poʻe i komo i loko. E hoʻomanaʻo hou wau iā ʻoe ʻaʻole i mana ka helu, malia paha ua nalo wau i kekahi mea, a inā pono kekahi ʻatikala ma aneʻi, akā ʻaʻole ia, e kākau, e hoʻohui wau me ka lima. Ma ke ʻano he helu, hoʻohana wau i nā metric i helu ʻia, aʻu i manaʻo ai he mea hoihoi loa ia.
ʻAe. He mau koho hoihoi hou ko'u, aka, aole au e hooluhi i ka poe heluhelu.
hopena
I ke kūkulu ʻana i ka helu, ua hoʻolohe au i ʻelua mau mea i manaʻo ʻia he hoihoi.
ʻO ka mea mua, ʻo 60% o ka luna nā ʻatikala o ke ʻano "geektimes". Inā he liʻiliʻi paha o lākou i ka makahiki e hiki mai ana, a he aha ke ʻano o Habr me ka ʻole o nā ʻatikala e pili ana i ka pia, space, lāʻau lapaʻau, etc., ʻaʻole wau ʻike. ʻOiaʻiʻo, e nalowale ka poʻe heluhelu i kekahi mea. E nana kakou.
ʻO ka lua, ua ʻike ʻia nā bookmark kiʻekiʻe i ke ʻano kiʻekiʻe kiʻekiʻe. Hiki ke hoʻomaopopo i ka psychologically; ʻaʻole paha e nānā ka poʻe heluhelu i ka helu, akā inā ʻo ka ʻatikala pono, a laila e hoʻohui ʻia i kāu mau bookmark. A eia nō ka manaʻo nui o nā ʻatikala pono a koʻikoʻi. Manaʻo wau e noʻonoʻo nā mea nona ka pūnaewele ma o ka pilina ma waena o ka helu o nā bookmark a me ka papahana uku inā makemake lākou e hoʻonui i kēia ʻano o nā ʻatikala ma Habré.
ʻO kekahi mea e like me kēia. Manaʻo wau he mea ʻike.
Ua lōʻihi ka papa inoa o nā ʻatikala, ʻoi aku ka maikaʻi. Hauʻoli ka heluhelu ʻana a pau.