|
@@ -120,6 +120,66 @@ class articleLevelUp(object):
|
|
"99%": 3.277849462365585
|
|
"99%": 3.277849462365585
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ firstLevelMap = {
|
|
|
|
+ "阅读均值倍数": {
|
|
|
|
+ "mean": 1.0469541000103093,
|
|
|
|
+ "max": 25.719380724649426,
|
|
|
|
+ "min": 0.037429819089207735,
|
|
|
|
+ "median": 0.9521466355025219,
|
|
|
|
+ "75%": 1.2800839124458492,
|
|
|
|
+ "80%": 1.370275508982941,
|
|
|
|
+ "90%": 1.674800845262867,
|
|
|
|
+ "95%": 1.995613204168999,
|
|
|
|
+ "99%": 2.9869225601165135
|
|
|
|
+ },
|
|
|
|
+ "阅读率": {
|
|
|
|
+ "mean": 0.016311355353310464,
|
|
|
|
+ "max": 0.7427434456928839,
|
|
|
|
+ "min": 0.0006011082360982278,
|
|
|
|
+ "median": 0.01255841121495327,
|
|
|
|
+ "75%": 0.020080845617803843,
|
|
|
|
+ "80%": 0.022950649260452458,
|
|
|
|
+ "90%": 0.03136776141996209,
|
|
|
|
+ "95%": 0.0398727631704118,
|
|
|
|
+ "99%": 0.05986584275411923
|
|
|
|
+ },
|
|
|
|
+ "小程序打开率": {
|
|
|
|
+ "mean": 0.20655535828501095,
|
|
|
|
+ "max": 0.8,
|
|
|
|
+ "min": 0.0,
|
|
|
|
+ "median": 0.19921326215228996,
|
|
|
|
+ "75%": 0.25838983436476154,
|
|
|
|
+ "80%": 0.27586206896551724,
|
|
|
|
+ "90%": 0.32290043225754594,
|
|
|
|
+ "95%": 0.3709317026683608,
|
|
|
|
+ "99%": 0.4685840031614304
|
|
|
|
+ },
|
|
|
|
+ "T+0裂变率": {
|
|
|
|
+ "mean": 0.6660929834568661,
|
|
|
|
+ "max": 46.0,
|
|
|
|
+ "min": 0.0,
|
|
|
|
+ "median": 0.5434782608695652,
|
|
|
|
+ "75%": 0.7940509083886685,
|
|
|
|
+ "80%": 0.8776439089692103,
|
|
|
|
+ "90%": 1.159075752014066,
|
|
|
|
+ "95%": 1.62348848368522,
|
|
|
|
+ "99%": 2.785400696864109
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @classmethod
|
|
|
|
+ def readRateDebias(cls, row):
|
|
|
|
+ """
|
|
|
|
+ 阅读均值倍数通过头条消偏
|
|
|
|
+ :param row:
|
|
|
|
+ :return:
|
|
|
|
+ """
|
|
|
|
+ if row["位置"] != 1:
|
|
|
|
+ return row["阅读量"] / (
|
|
|
|
+ max(1.0, row["头条阅读量"] / row["头条阅读均值"]) * row["阅读均值"]
|
|
|
|
+ )
|
|
|
|
+ else:
|
|
|
|
+ return row["阅读均值倍数"]
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|
|
def getBaseData(cls):
|
|
def getBaseData(cls):
|
|
@@ -127,7 +187,6 @@ class articleLevelUp(object):
|
|
|
|
|
|
:return:
|
|
:return:
|
|
"""
|
|
"""
|
|
- # today = datetime.today().strftime("%Y%m%d")
|
|
|
|
sql = f"""
|
|
sql = f"""
|
|
SELECT
|
|
SELECT
|
|
position, fans, view_count, avg_view_count, first_view_count, first_avg_view_count, read_rate, read_fans_rate, first_read_rate, fission0_first_rate, title, link
|
|
position, fans, view_count, avg_view_count, first_view_count, first_avg_view_count, read_rate, read_fans_rate, first_read_rate, fission0_first_rate, title, link
|
|
@@ -136,6 +195,8 @@ class articleLevelUp(object):
|
|
"""
|
|
"""
|
|
response = lam.select(sql)
|
|
response = lam.select(sql)
|
|
df = DataFrame(response, columns=cls.columns)
|
|
df = DataFrame(response, columns=cls.columns)
|
|
|
|
+ df = df.sort_values(by=["阅读均值倍数"], ascending=[False]).reset_index(drop=True)
|
|
|
|
+ df = df[df["粉丝量"] > 10000].reset_index(drop=True)
|
|
return df
|
|
return df
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|
|
@@ -208,7 +269,7 @@ class articleLevelUp(object):
|
|
dataThreeToEight = dataThreeToEight[dataThreeToEight['位置'].isin([3, 4, 5, 6, 7, 8])]
|
|
dataThreeToEight = dataThreeToEight[dataThreeToEight['位置'].isin([3, 4, 5, 6, 7, 8])]
|
|
filter_data = dataThreeToEight[
|
|
filter_data = dataThreeToEight[
|
|
(dataThreeToEight['T+0裂变率'] > cls.statMapThreeToEight['T+0裂变率']['95%'])
|
|
(dataThreeToEight['T+0裂变率'] > cls.statMapThreeToEight['T+0裂变率']['95%'])
|
|
- & (dataThreeToEight['阅读均值倍数'] > cls.statMapThreeToEight['阅读均值倍数']['95%'])
|
|
|
|
|
|
+ & (dataThreeToEight['阅读均值倍数'] > cls.statMapThreeToEight['阅读均值倍数']['80%'])
|
|
]
|
|
]
|
|
return filter_data
|
|
return filter_data
|
|
|
|
|
|
@@ -227,8 +288,9 @@ class articleLevelUp(object):
|
|
|
|
|
|
|
|
|
|
U = articleLevelUp()
|
|
U = articleLevelUp()
|
|
|
|
+U.analysisDF(indexList=[1])
|
|
f_d = U.upLevel2To1()
|
|
f_d = U.upLevel2To1()
|
|
for line in list(zip(f_d['标题'], f_d['链接'])):
|
|
for line in list(zip(f_d['标题'], f_d['链接'])):
|
|
print(line[0])
|
|
print(line[0])
|
|
print(line[1])
|
|
print(line[1])
|
|
- print("\n")
|
|
|
|
|
|
+ print("\n")
|