Habrastatistics: څنګه Habr د geektimes پرته ژوند کوي

اې حبر

دا مقاله د درجه بندي منطقي تسلسل دی د 2018 لپاره غوره هابر مقالې. او که څه هم کال لا پای ته نه دی رسیدلی، لکه څنګه چې تاسو پوهیږئ، په دوبي کې په مقرراتو کې بدلونونه راغلي، په وینا، دا په زړه پورې شوه چې وګورئ چې دا څه اغیزه کوي.

Habrastatistics: څنګه Habr د geektimes پرته ژوند کوي

د حقیقي احصایو سربیره، د مقالو تازه درجه بندي به چمتو شي، په بیله بیا د ځینو سرچینو کوډ د هغو کسانو لپاره چې لیوالتیا لري چې دا څنګه کار کوي.

د هغو کسانو لپاره چې لیوالتیا لري هغه څه چې پیښ شوي، دوام د کټ لاندې دی. هغه څوک چې د سایټ د برخو په اړه نور تفصيلي تحلیل سره علاقه لري کولی شي هم وګوري بله برخه.

د سرچینې ډاټا

دا درجه بندي غیر رسمي ده، او زه هیڅ داخلي معلومات نلرم. لکه څنګه چې تاسو کولی شئ په اسانۍ سره د خپل براوزر د پتې بار ته په کتلو سره وګورئ، په Habré کې ټولې مقالې دوامداره شمیرې لري. بیا دا د تخنیک مسله ده ، موږ په ساده ډول ټولې مقالې په یوه لوپ کې په قطار کې لوستلو (په یوه تار کې او د وقفې سره ، ترڅو سرور پورته نشي). ارزښتونه پخپله په Python کې د ساده پارسر لخوا ترلاسه شوي (سرچینې شتون لري دلته) او په csv فایل کې یو څه خوندي شوي لکه:

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

پروسس کول

د پارس کولو لپاره به موږ پایتون، پانډاس او مټپلوټلیب وکاروو. هغه څوک چې د احصایې سره علاقه نلري کولی شي دا برخه پریږدي او مستقیم مقالو ته لاړ شي.

لومړی تاسو اړتیا لرئ ډیټاسیټ په حافظه کې پورته کړئ او د مطلوب کال لپاره ډاټا غوره کړئ.

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)

دا معلومه شوه چې سږکال (که څه هم دا لاهم پای ته نه دی رسیدلی) د لیکلو په وخت کې، 12715 مقالې خپرې شوې. د پرتله کولو لپاره، د ټول 2018 - 15904 لپاره. په عموم کې، ډیری - دا هره ورځ شاوخوا 43 مقالې دي (او دا یوازې د مثبت درجه بندي سره ده؛ ټولټال څومره مقالې ډاونلوډ شوي چې منفي شوي یا حذف شوي، یو څوک یوازې اټکل کولی شي یا د پیژندونکو ترمنځ د تشو څخه تقریبا اټکل).

راځئ چې د ډیټا سیټ څخه اړین ساحې غوره کړو. د میټریک په توګه موږ به د لیدونو شمیر، نظرونو، د درجه بندي ارزښتونو او د بک مارکونو شمیر وکاروو.

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

اوس ډیټا سیټ ته اضافه شوي او موږ کولی شو دا وکاروو. راځئ چې د ورځې لخوا ډاټا ګروپ کړو او اوسط ارزښتونه واخلو.

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

اوس په زړه پورې برخه دا ده چې موږ کولی شو ګرافونه وګورو.

راځئ چې په 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()

پایله په زړه پورې ده. لکه څنګه چې تاسو لیدلی شئ، حبر په ټول کال کې یو څه "ساسیج" و. زه په دلیل نه پوهیږم.

Habrastatistics: څنګه Habr د geektimes پرته ژوند کوي

د پرتله کولو لپاره، 2018 یو څه نرم ښکاري:

Habrastatistics: څنګه Habr د geektimes پرته ژوند کوي

په عموم کې ، ما په ګراف کې په 2019 کې د خپرو شویو مقالو په شمیر کې کوم سخت کمښت ونه لید. برسېره پردې، برعکس، داسې ښکاري چې د دوبي راهیسې یو څه زیاتوالی موندلی.

مګر راتلونکي دوه ګرافونه ما یو څه نور فشار راوړي.

په هره مقاله کې د لیدونو اوسط شمیر:

Habrastatistics: څنګه Habr د geektimes پرته ژوند کوي

د هرې مقالې اوسط درجه:

Habrastatistics: څنګه Habr د geektimes پرته ژوند کوي

لکه څنګه چې تاسو لیدلی شئ، د لیدونو اوسط شمیر په ټول کال کې یو څه کمیږي. دا د دې حقیقت له مخې تشریح کیدی شي چې نوې مقالې لا تر اوسه د لټون انجنونو لخوا ندي ترتیب شوي، او دوی ډیری وختونه نه موندل کیږي. مګر د هرې مقالې په اوسط درجه کې کمښت ډیر د پوهیدو وړ دی. احساس دا دی چې لوستونکي یا په ساده ډول د ډیری مقالو لیدو لپاره وخت نلري یا درجه بندي ته پام نه کوي. د لیکوال انعام پروګرام له نظره، دا رجحان خورا ناخوښه دی.

په هرصورت، دا په 2018 کې نه و پیښ شوي، او مهال ویش ډیر یا لږ حتی دی.

Habrastatistics: څنګه Habr د geektimes پرته ژوند کوي

په عموم کې، د سرچینو مالکین د فکر کولو لپاره یو څه لري.

مګر راځئ چې د غمجن شیانو په اړه خبرې ونه کړو. په عموم کې، موږ کولی شو ووایو چې حبر په دوبي کې "ژوندی" په بریالیتوب سره بدلون موندلی، او په سایټ کې د مقالو شمیر کم شوی نه دی.

درجه

اوس، په حقیقت کې، درجه بندي. هغه چا ته چې په دې کې شامل شوي دي مبارک شه. اجازه راکړئ تاسو ته یو ځل بیا یادونه وکړم چې درجه بندي غیر رسمي ده، شاید ما یو څه له لاسه ورکړي، او که یو څه مقاله ضرور دلته وي، مګر دا نه ده، ولیکئ، زه به یې په لاسي ډول اضافه کړم. د درجه بندي په توګه، زه محاسبه شوي میټریکونه کاروم، کوم چې زما په اند خورا په زړه پورې و.

د لیدونو شمیر له مخې غوره مقالې

د کتنې په تناسب د درجه بندي له مخې غوره مقالې

د نظرونو تناسب ته د نظرونو له مخې غوره مقالې

ترټولو جنجالي مقالې

د درجه بندي له مخې غوره مقالې

د بک مارکونو له مخې غوره مقالې

د بک مارکونو په تناسب د لیدونو سره پورته

د نظرونو شمیر له مخې غوره مقالې

او بالاخره، وروستی د ناخوښۍ شمیرې له مخې انټيټاپ

اوغ زه یو څو نور په زړه پوري انتخابونه لرم، مګر زه به لوستونکي ستړي نه کړم.

پایلې

کله چې درجه بندي کول، ما دوه ټکو ته پام وکړ چې په زړه پورې ښکاري.

لومړی، د پورته 60٪ د "geektimes" ژانر مقالې دي. ایا راتلونکی کال به د دوی څخه لږ وي، او هابر به د بیر، ځای، درمل او نورو په اړه د مقالو پرته څنګه ښکاري، زه نه پوهیږم. یقینا، لوستونکي به یو څه له لاسه ورکړي. راځئ چې وګورو.

دوهم، غوره بک مارکونه په غیر متوقع ډول د لوړ کیفیت څخه وګرځیدل. دا د رواني پلوه د پوهیدو وړ دی؛ لوستونکي ممکن درجه بندي ته پام ونه کړي، مګر که مقاله اړتیانو دا به ستاسو په بک مارکونو کې اضافه شي. او دلته دقیقا د ګټورو او جدي مقالو خورا لوی تمرکز دی. زه فکر کوم چې د سایټ مالکین باید په یو څه ډول د بک مارکونو شمیر او د انعامونو برنامې ترمینځ د اړیکې له لارې فکر وکړي که دوی غواړي دلته په هابر کې د مقالو دې ځانګړي کټګورۍ ته وده ورکړي.

دغسې یو شی. زه امید لرم چې دا معلوماتي وه.

د مقالو لیست اوږد شو، ښه، دا شاید د ښه لپاره وي. د ټولو لوستلو خوشحاله.

سرچینه: www.habr.com

Add a comment