vault backup: 2026-11-06 09:29:04
This commit is contained in:
1 parent
f0f09e1d59
commit
159ff2ba53
12 files changed
+134
-17
No files matched your search
@@ -4,6 +4,20 @@
|
||||
"title": "Fix garbled text in document display",
|
||||
"titleGenerationStatus": "success",
|
||||
"createdAt": 1793925217144,
|
||||
"updatedAt": 1793925225872,
|
||||
"sessionId": null
|
||||
"updatedAt": 1793928017499,
|
||||
"lastResponseAt": 1793928017499,
|
||||
"sessionId": "faab80b4-230c-4c59-9296-ba57e6af8986",
|
||||
"providerState": {
|
||||
"providerSessionId": "faab80b4-230c-4c59-9296-ba57e6af8986"
|
||||
},
|
||||
"usage": {
|
||||
"model": "glm-5",
|
||||
"inputTokens": 622,
|
||||
"cacheCreationInputTokens": 0,
|
||||
"cacheReadInputTokens": 67840,
|
||||
"contextWindow": 200000,
|
||||
"contextTokens": 68462,
|
||||
"percentage": 34,
|
||||
"contextWindowIsAuthoritative": true
|
||||
}
|
||||
}
|
||||
Vendored
+15
-15
@@ -13,12 +13,12 @@
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "百家/野生动物+物理地形.md",
|
||||
"file": "思睿/身高/第一医院/第一医院检查总结.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "野生动物+物理地形"
|
||||
"title": "第一医院检查总结"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -197,26 +197,28 @@
|
||||
"realclaudian:Open Claudian": false
|
||||
}
|
||||
},
|
||||
"active": "80266ee6e0ac306d",
|
||||
"active": "fdbcd1b46c89bc2a",
|
||||
"lastOpenFiles": [
|
||||
"妹妹/妹妹身高.md",
|
||||
"思睿/身高/综合健康复诊分析.md",
|
||||
"思睿/身高/综合健康评估总结.md",
|
||||
"generate_docs.py",
|
||||
"思睿/身高/综合健康评估总结.md.tmp.19184.eef11a9104a9",
|
||||
"思睿/哥哥身高.md",
|
||||
"妹妹/妹妹身高.md.corrupt-20260916",
|
||||
"思睿/哥哥身高.md.corrupt-20260916",
|
||||
"思睿/身高/综合健康评估总结.md.corrupt-20260916",
|
||||
"思睿/身高/综合健康复诊分析.md.corrupt-20260916",
|
||||
"百家/analyze_baijiahao.py",
|
||||
"思睿/身高/第一医院/病例/2026-10-19.pdf",
|
||||
"思睿/身高/第一医院/病例/2026-03-07.pdf",
|
||||
"思睿/身高/第一医院/病例/2026-07-18.pdf",
|
||||
"思睿/身高/第一医院/病例/2026-07-11.pdf",
|
||||
"百家/野生动物+物理地形.md",
|
||||
"百家/code_artifact.md",
|
||||
"百家",
|
||||
"新建文件夹",
|
||||
"temp_test_zip2.py",
|
||||
"temp_test_zip.py",
|
||||
"temp_check_zip.py",
|
||||
"temp_check_zst.py",
|
||||
"思睿/思睿资料核对与待办清单.md",
|
||||
"思睿/哥哥身高.md",
|
||||
"思睿/初中/观音山音乐学校分析.md",
|
||||
"思睿/身高/第一医院/第一医院检查总结.md",
|
||||
"思睿/七年级/作文/照顾妹妹的一天-作文批改打印版.pdf",
|
||||
"思睿/七年级/作文/照顾妹妹的一天--原文.md",
|
||||
"妹妹/妹妹身高.md",
|
||||
"思睿/身高/第一医院/报告/20261019报告/extracted_images/血常规 20261019_p1_img2.png",
|
||||
"思睿/身高/第一医院/报告/20261019报告/extracted_images/血常规 20261019_p1_img1.png",
|
||||
"思睿/身高/第一医院/报告/20261019报告/extracted_images/胰岛素测定 20261019_p1_img2.png",
|
||||
@@ -227,8 +229,6 @@
|
||||
"思睿/身高/第一医院/报告/20261019报告/extracted_images/常规生化全套检查 20261019_p2_img1.png",
|
||||
"思睿/身高/第一医院/报告/20261019报告/extracted_images/常规生化全套检查 20261019_p1_img2.png",
|
||||
"思睿/身高/第一医院/报告/20261019报告/extracted_images/常规生化全套检查 20261019_p1_img1.png",
|
||||
"思睿/身高/第一医院/报告/20261019报告/extracted_images",
|
||||
"test.txt",
|
||||
"思睿/身高/第一医院/temp_zip_check/第一医院检查总结.md",
|
||||
"小鱼/闲鱼数据分析_2026-11-03.md",
|
||||
"小鱼/闲鱼选品与运营指导_2026-11-03.md",
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,75 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# 百家号 39 条视频数据归因分析:按题材分类汇总 + 互动率/点击率 + 输出 Excel 归因表
|
||||
import sys
|
||||
import pandas as pd
|
||||
import openpyxl
|
||||
|
||||
sys.stdout.reconfigure(encoding="utf-8")
|
||||
|
||||
df = pd.read_excel(r"E:\Download\单篇数据.xlsx", sheet_name="data")
|
||||
df.columns = [str(c).strip() for c in df.columns]
|
||||
|
||||
# 题材人工归类(基于标题与策略文档对照)
|
||||
CAT = {
|
||||
"大角羊IP(悬崖物理反杀)": ["悬崖冰桥上的极限遭遇战", "大角羊被狼群逼入绝境,竟靠这一招",
|
||||
"大角羊卡住悬崖窄道", "悬崖之巅的生死角逐", "罕见野外抓拍:大角羊",
|
||||
"绝地反击!大角羊引发落石"],
|
||||
"农家院保卫战(护崽情感)": ["千万别惹看家大鹅", "迷你黄鼠狼进院偷小鸡", "黄鼠狼进院偷袭小鸡"],
|
||||
"绝对防御(连XX都不敢惹)": ["为什么连鳄鱼都不敢惹河马", "为什么连狮子都忌惮非洲水牛",
|
||||
"连狮子都咬不穿的防御", "穿山甲偶遇小花豹", "连狮子都扎嘴的豪猪",
|
||||
"为什么说一猪二熊三老虎", "水牛轰然倒地"],
|
||||
"高山其他蹄类(物理系)": ["物理学不存在了", "盘羊高处蹬落碎冰", "雪羊占据陡坡高地",
|
||||
"绝壁上的", "野狼仰攻野牦牛", "大自然的天然溜冰场", "雪地追击变成花样滑冰"],
|
||||
"雪兔压强": ["受力面积的降维打击", "为什么雪兔在厚雪地里跑不陷脚"],
|
||||
"北极狐走位": ["饥饿北极熊雪地狂追北极狐", "急眼了!北极熊狂追小狐狸"],
|
||||
"水下题材": ["原来真有动物会用工具", "千万别和企鹅比灵活", "千万别惹"],
|
||||
"萌宠表情/搞笑": ["高空猛禽突然掠过,兔狲", "谁能拒绝一只戴着派对帽的小猫咪", "水豚被大鸟"],
|
||||
"其他(掠食视角/整蛊)": ["当北极熊在碎冰区发起冲锋", "大自然的", "雪原上的三方博弈"],
|
||||
}
|
||||
|
||||
def cat_of(title):
|
||||
for c, keys in CAT.items():
|
||||
if any(k in title for k in keys):
|
||||
return c
|
||||
return "未分类"
|
||||
|
||||
df["题材"] = df["标题"].apply(cat_of)
|
||||
df["点击转化率"] = (df["阅读量"] / df["推荐量"]).round(3)
|
||||
df["点赞率%"] = (df["点赞量"] / df["阅读量"].clip(lower=1) * 100).round(2)
|
||||
|
||||
g = df.groupby("题材").agg(
|
||||
条数=("标题", "count"),
|
||||
总阅读=("阅读量", "sum"),
|
||||
平均阅读=("阅读量", "mean"),
|
||||
最好成绩=("阅读量", "max"),
|
||||
总推荐=("推荐量", "sum"),
|
||||
点击转化率=("点击转化率", "mean"),
|
||||
总点赞=("点赞量", "sum"),
|
||||
总评论=("评论量", "sum"),
|
||||
).round(1).sort_values("总阅读", ascending=False)
|
||||
|
||||
print("=" * 88)
|
||||
print(g.to_string())
|
||||
print("=" * 88)
|
||||
|
||||
top5 = df.nlargest(5, "阅读量")[["标题", "发布时间", "阅读量", "推荐量", "点赞量", "题材"]]
|
||||
print("\nTOP5 爆款:")
|
||||
print(top5.to_string(index=False))
|
||||
|
||||
bottom5 = df.nsmallest(5, "阅读量")[["标题", "发布时间", "阅读量", "推荐量", "题材"]]
|
||||
print("\nBOTTOM5 扑街:")
|
||||
print(bottom5.to_string(index=False))
|
||||
|
||||
# 违规词扫描(文档明令禁止)
|
||||
banned = ["实拍", "抓拍", "监控拍", "彻底绝望", "陷入绝望", "最高境界"]
|
||||
hits = df[df["标题"].str.contains("|".join(banned))][["标题", "阅读量"]]
|
||||
print("\n违规词命中(文档红线,需改标题):")
|
||||
print(hits.to_string(index=False) if len(hits) else "无")
|
||||
|
||||
# 输出归因表 Excel
|
||||
out = r"F:\AI\Obsidian Home\百家\单篇数据归因分析.xlsx"
|
||||
with pd.ExcelWriter(out, engine="xlsxwriter") as w:
|
||||
df.to_excel(w, sheet_name="逐条明细", index=False)
|
||||
g.reset_index().to_excel(w, sheet_name="题材汇总", index=False)
|
||||
top5.to_excel(w, sheet_name="TOP5爆款", index=False)
|
||||
print(f"\nsaved: {out}")
|
||||
@@ -0,0 +1,28 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# 读取百家号后台导出的《单篇数据.xlsx》:打印所有 sheet、表头与数据行
|
||||
import sys
|
||||
import openpyxl
|
||||
|
||||
sys.stdout.reconfigure(encoding="utf-8")
|
||||
path = r"E:\Download\单篇数据.xlsx"
|
||||
|
||||
wb = openpyxl.load_workbook(path, data_only=True, read_only=True)
|
||||
print(f"file: {path}")
|
||||
print(f"sheets: {wb.sheetnames}")
|
||||
|
||||
for ws in wb.worksheets:
|
||||
print(f"\n=== SHEET: {ws.title} dims={ws.max_row} rows x {ws.max_column} cols ===")
|
||||
empty_streak = 0
|
||||
for i, row in enumerate(ws.iter_rows(values_only=True), 1):
|
||||
vals = ["" if v is None else str(v).replace("\n", "\\n") for v in row]
|
||||
if not any(vals):
|
||||
empty_streak += 1
|
||||
if empty_streak > 3:
|
||||
continue
|
||||
else:
|
||||
empty_streak = 0
|
||||
print(f"[{i}] " + " | ".join(vals))
|
||||
if i >= 80:
|
||||
print("...(over 80 rows, truncated for inspection)")
|
||||
break
|
||||
wb.close()
|
||||
Reference in new issue
Block a user