Python数据分析与可视化:使用pyecharts绘制科室分布饼图

用 Python 进行数据处理与可视化:实战抑郁症诊疗数据分析 在当今数字化时代,数据无处不在,而如何从海量的数据中提取有价值的信息,成为了众多领域关注的焦点。在医疗领域,患者的诊疗数据蕴含着丰富的信息,通过对这些数据的深入分析,可以为医疗决策、疾病研究等提供有力支持。Python 作为一种功能强大且易于上手的编程语言,在数据处理和分析领域占据着重要地位。它拥有众多丰富的库,如 Pandas 用于数据处理,pyecharts 用于数据可视化等,这些库大大简化了数据处理和分析的流程。 阅读详情
pip install pyecharts
import pyecharts
print(pyecharts.__version__)

```html

```html
import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts

df = pd.read_csv('YiYuZheng.csv')
df.head(1)

Patient_nameLabelDateTitleCommunicationsDoctorHospitalFaculty
0患者:女 43岁压抑05.28压抑 个人情况:去年1月份开始夫妻两地分居,孩子13岁男孩住校,平... 这种情况是否需要去...115杨胜文襄阳市安定医院心理科
#查看数据
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8400 entries, 0 to 8399
Data columns (total 8 columns):
 #   Column          Non-Null Count  Dtype 
---  ------          --------------  ----- 
 0   Patient_name    8400 non-null   object
 1   Label           8400 non-null   object
 2   Date            8288 non-null   object
 3   Title           8400 non-null   object
 4   Communications  8400 non-null   int64 
 5   Doctor          8400 non-null   object
 6   Hospital        8400 non-null   object
 7   Faculty         8400 non-null   object
dtypes: int64(1), object(7)
memory usage: 525.1+ KB

数据预处理

拆分年龄

# 获取性别,作为新列
#患者:女43岁,首先按照空格拆分,结果为[患者:女][][43岁],选取第一个,第二次按照中文冒号拆分,[患者][:][女]
df['Sex'] = df['Patient_name'].map(lambda x: x.split(" ")[0]).map(lambda x: x.split(": ")[-1])

# 获取年龄,作为新列
#患者:女43岁,首先按照空格拆分,结果为[患者:女][][43岁],选取第三个,并且去掉“岁”
df['Age'] = df['Patient_name'].map(lambda x: x.split(" ")[2][:-1])

df.head()
Patient_nameLabelDateTitleCommunicationsDoctorHospitalFacultySexAge
0患者:女 43岁压抑05.28压抑 个人情况:去年1月份开始夫妻两地分居,孩子13岁男孩住校,平... 这种情况是否需要去...115杨胜文襄阳市安定医院心理科患者:女43
1患者:女 32岁生气。心梗。抑郁05.28生气。心梗。抑郁 郁郁寡欢。被他人语言刺激。卧床不起。没动力。心疼。受伤 是什么病。怎么办12郭汉法泰安八十八医院临床心理科患者:女32
2患者:女 15岁情绪低落,烦躁抑郁05.28情绪低落,烦躁抑郁 情绪低落,压抑烦躁,思考能力降低。长时间学习,睡眠时间少。睡... 还有...2郭苏皖南京脑科医院医学心理科患者:女15
3患者:女 16岁抑郁05.28抑郁 前面已简述,2024年夏季中考,本来学习非常好,非常自律,自... 已经服用9个月的艾...2刘丽联勤保障部队第九〇四医院(常州院区)精神3科(物质依赖科)患者:女16
4患者:女 67岁焦虑症 严重躯干反应、抑郁症05.28焦虑症 严重躯干反应 抑郁症 草酸加量以后,还是有比较严重的躯干反应,主要表现为背痛 脖...2刘晓华上海市精神卫生中心精神科患者:女67

处理空缺值

df.isnull().sum()
Patient_name        0
Label               0
Date              112
Title               0
Communications      0
Doctor              0
Hospital            0
Faculty             0
Sex                 0
Age                 0
dtype: int64
#因为空缺值数据较少,并且不合适使用填充法,故删除
df.dropna(inplace=True)#在原来的数据上删除
df.info()
data=df['Faculty'].value_counts()[:10]  # 选取前十科室

pie=(
    Pie()
    .add('', [list(z) for z in zip(data.index.tolist(),data.tolist())], # 饼图数据格式[[key1, value1],[key2, value2],...]
         label_opts=opts.LabelOpts(formatter="{b}: {d}%") # 标签格式
)
pie.render_notebook()
  Cell In[13], line 3
    pie=(
        ^
SyntaxError: '(' was never closed

修改Date列

#df['Date']
#转换成字符串类型
df['Date'] = df['Date'].astype(str)

#定义函数,实现date列格式统一:年-月-日
def trans_date(tag):
    if tag.startswith("20"): #查看是否以20开头,即查看是否存在年
        tag = tag.replace(".", "-")
    else:
        tag = "2025-" + tag.replace(".", "-") #否则加上年份2025
    return tag

df['Date'] = df['Date'].map(lambda x: trans_date(x)) #调用函数转换格式

#转换成日期类型
df['Date'] = pd.to_datetime(df['Date'])

#df.info()

数据可实化

from pyecharts.globals import ThemeType

查看患者性别分布情况


# 准备数据:按照性别统计个数
data = df['Sex'].value_counts()
# data
x = data.index.tolist()
y = data.tolist()

# 绘制饼图
pie=(
    Pie(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))#设置主题
    .add("",
         [list(z) for z in zip(x,y)],#数据需要打包成[(key,value),(key,value),...]
         label_opts=opts.LabelOpts(formatter="{b}:{d}%")#以百分比形式显示标签
        )
    .set_global_opts(title_opts=opts.TitleOpts(title="患者性别分布情况"))
)
pie.render_notebook()
    <div id="520f64d517ba4baaa024a1231719a927" style="width:900px; height:500px;"></div>

患者年龄分布情况


# 数据准备
# 1. 转换年龄为数值类型
# df['Age'] = df['Age'].astype(int)
# 因为年龄数据不规范,存在:X岁Y月 形式的数据,再次进行数据处理
df['Age'] = df['Age'].map(lambda x: 1 if ("天" in x or "个" or "月" in x) else x).astype(int)
#df.info()


<class 'pandas.core.frame.DataFrame'>
Int64Index: 8288 entries, 0 to 8399
Data columns (total 10 columns):
 #   Column          Non-Null Count  Dtype         
---  ------          --------------  -----         
 0   Patient_name    8288 non-null   object        
 1   Label           8288 non-null   object        
 2   Date            8288 non-null   datetime64[ns]
 3   Title           8288 non-null   object        
 4   Communications  8288 non-null   int64         
 5   Doctor          8288 non-null   object        
 6   Hospital        8288 non-null   object        
 7   Faculty         8288 non-null   object        
 8   Sex             8288 non-null   object        
 9   Age             8288 non-null   int32         
dtypes: datetime64[ns](1), int32(1), int64(1), object(7)
memory usage: 679.9+ KB
#2. 年龄分箱
labels=["0~18","19~40","41~60","61~80","80+"] #区间标签,注意这里修正了原代码中的引号错误
df['age_label']=pd.cut(df['Age'],bins=[0,18,40,60,80,100],labels=labels) #分箱

#3. 统计各个年龄区间人数
data=df['age_label'].value_counts().sort_index() #按照索引值排序

x=data.index.tolist()
y=data.tolist()

#画柱状图
bar=(
    Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
    .add_xaxis(x)
    .add_yaxis("人数",y)
    .set_global_opts(title_opts=opts.TitleOpts(title="患者年龄分布情况"))
    .reversal_axis()
)
bar.render_notebook()

在这里插入图片描述

    <div id="81543fb4d5334db68d7c00d30f0b2520" style="width:900px; height:500px;"></div>

查看患者就诊次数分布

#对就诊次数分箱
bins=[0, 5, 10, 20, 40, 100, 200, 300]
df['Communications_count']=pd.cut(df['Communications'],bins=bins)
#按照就诊分箱数据统计数据
data=df['Communications_count'].value_counts().sort_index() #按照索引排序
#data
x=data.index.astype(str).tolist()
y=data.tolist()

#画柱状图
line=(
    Line(init_opts=opts.InitOpts(theme=ThemeType.DARK)) #主题配置
    .add_xaxis(x)
    .add_yaxis("人数",y)
    .set_global_opts(title_opts=opts.TitleOpts(title="患者就诊分布情况"),
                     xaxis_opts=opts.AxisOpts(type_="category"),
                     yaxis_opts=opts.AxisOpts(type_="value"),)
    .reversal_axis()
)
line.render_notebook()
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

Cell In[24], line 12
      8 y=data.tolist()
     10 #画柱状图
     11 line=(
---> 12     Line(init_opts=opts.InitOpts(theme=ThemeType.DARK)) #主题配置
     13     .add_xaxis(x)
     14     .add_yaxis("人数",y)
     15     .set_global_opts(title_opts=opts.TitleOpts(title="患者就诊分布情况"),
     16                      xaxis_opts=opts.AxisOpts(type_="category"),
     17                      yaxis_opts=opts.AxisOpts(type_="value"),)
     18     .reversal_axis()
     19 )
     20 line.render_notebook()


NameError: name 'Line' is not defined

在这里插入图片描述

患者标签

pip install jieba
import jieba
from collections import Counter

def chinese_word_cut(text):
    seg_list = jieba.cut(text, cut_all=False)
    return [word for word in seg_list if len(word) > 1]

all_word = []
for text in df['Title']:
    all_word.extend(chinese_word_cut(text))

word_count = Counter(all_word)
top_words = word_count.most_common(100)  # 取前100个高频词

data = [(word, count) for word, count in top_words]

w = (
    WordCloud()
    .add("", data)
)
w.render_notebook()

在这里插入图片描述

data = df['Faculty'].value_counts()[:10]
pie = (
    Pie()
    .add('', [list(z) for z in zip(data.index, data.values)],
         label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)"))
    .set_global_opts(title_opts=opts.TitleOpts(title="科室分布TOP10"))
)
pie.render_notebook()

在这里插入图片描述

Pandas入门教程(二十二):股票数据分析实战——yfinance 获取数据、技术指标与收益率分析 把 Pandas 用在真实场景,才能体会它的价值。本文以茅台股票为例,用 yfinance 获取历史行情,完成缺失值处理与列筛选,绘制收盘价曲线,计算 SMA 移动平均线与 RSI 相对强弱指数,并通过日收益率、累计收益率和波动率完成完整的量化分析流程。 阅读详情

相关推荐

如何处理动态语言(Python / JS)的“隐形”调用链?

本文揭示动态语言(Python/JS)中静态AST解析导致调用链“断链”的核心问题,提出通过运行时追踪补全图谱的解决方案。基于Code-Graph-RAG的cgr trace机制,分别利用pytest插件与V8 Profiler捕获真实调用路径,将动态边合并至静态图谱,并在权重体系中提升动态边优先级。实践表明,该方法可显著提升图谱覆盖率,实现“结构+行为”双视角理解代码,为MCP与Rerank系统提供可靠支持。

xianyinsuifeng的博客 414

抑郁症患者数据分析

从数据反馈结果来看:Date列存在空缺值,并且不是日期类型。Patient_name列存在信息混合一起情况,需要拆分年龄和性别。

sinat_20471177的博客 674

Python数据分析教学全套实战资料:12章PPT课件+Jupyter例题代码+真实数据集

高校教师和培训机构可以直接用来开课的Python数据分析教学资源,包含12个章节的完整PPT课件(从Python基础、NumPy、Pandas数据清洗与统计,到Matplotlib/Seaborn/pyecharts可视化、时间序列分析、SciPy科学计算、统计与机器学习、图像数据分析),每章配套可运行的Jupyter Notebook例题代码(如ch2-ch12各章.ipynb)及综合实训文件(ch6/ch7/ch9等专项实训)。所有代码基于主流库编写,内置或附带真实业务场景数据集,比如股票行情、体检报告

linux的博客 400

NHANES数据批量下载(利用deepseek生成Python脚本实现)

本文帮助不熟悉Python的用户高效完成NHANES数据批量下载。主要内容包括:1)分析NHANES网站URL规律,发现可通过Component(5种数据类型)和Cycle(5个时间段)参数组合生成下载页面;2)设计文件夹结构按年份和数据类型分类存储;3)设计提示词请deepseek生成Python脚本自动爬取.xpt文件下载链接并下载,包含URL解析、文件下载、错误处理和进度显示功能; 3)最终完成批量下载并分类存放目标;

eehzux的博客 1246

12个真实业务场景的Python数据分析实训包:红酒质检、股票走势、体检报告等Jupyter实操案例

直接上手就能跑的Python数据分析教学资源,覆盖从零基础到建模可视化的完整链路。包含红酒质量评估(基于UCI winequality-red数据)、A股行情时间序列可视化、职场人群体检指标统计分析、APP用户行为分类、学生成绩雷达图绘制等12个结构化项目,全部用Jupyter Notebook编写,代码注释清晰,数据文件内嵌或随附,开箱即用。配套内容涵盖NumPy数值计算、Pandas数据清洗与聚合、Matplotlib/Seaborn/pyecharts多维图表绘制、Scikit-learn决策树建模、

c7d8e9的博客 387

API安全攻防实战:从信息搜集到漏洞利用的完整路径

本文详细解析了API安全攻防实战的全过程,从信息搜集到漏洞利用,涵盖了渗透测试的核心技巧和工具使用。通过真实案例展示如何发现和利用API漏洞,如HTTP方法滥用、内容类型转换攻击等,并提供企业级防御策略和测试心得,帮助安全研究人员提升API安全防护能力。

weixin_30394981的博客 434

pthon进行NHANES数据清洗之医学统计项目(增删改查)

做医学的统计项目最重要的还是要有思路(其实做什么事情都是)那医学最基本的通用思路是什么,当然是是什么,当然是P (Population/ Participants)指目标人群,I (Intervention/Exposure)指干预措施或暴露因素,C (Comparator/Control)指对照组或可比较的其他干预,O (Outcome)指结局指标,S (Study type)指研究设计如果还是不懂,网上有很多其他资料搜索PICOS即可。

beautifulmost_me的博客 868

Python自然语言处理 NLTK 库用法入门教程【经典】

@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python自然语言处理 NLTK 库用法。分享给大家供大家参考,具体如下: 在这篇文章中,我们将基于 Python 讨论自然语言处理(NLP)。本教程将会使用 Python NLTK 库。NLTK 是一个当下流行的,用于自然语言处理的 Python 库。 那么 NLP 到底是什么?学习 NLP 能带来什么好处? ...

python函数基础教程 1万+

迪赛智慧数——饼图(玫瑰饼图):抑郁症发病群体年龄

玫瑰图(Nightingale Rose Chart,)又名鸡冠花图(Coxcomb Chart)、极坐标区域图(Polar Area Diagram),是极坐标化的柱图,可以将其理解为披着饼图外皮的柱状图。为什么看起来阳光开朗的人,也会得抑郁症?据数据调查显示,15-30岁为抑郁症的高发年纪,由于思想不够成熟,经验少,社会、家庭压力大,容易出现抑郁症。玫瑰饼图的制作原理是将极坐标平面分为若干等角区域,再依据数据大小不同,把相应的等角区域进行填充,使不同大小的等角区域构成一片片花瓣,玫瑰图也就由此而来。

迪赛智慧数的博客 1531

【中英双语】Illumina测序原理详解 | 边合成边测序/Sequencing by Synthesis

很多朋友们问我视频讲解时用的笔记可不可以分享,那当然必须是可以呐!但我当时其实没有好好记录,只是打了个草稿就开讲啦!既然大家有需求,俺就重新整理了一下,希望可以帮到大家!

weixin_43843918的博客 7872

USB之ch376s数据手册

         最近师兄交给我一个项目,虽说刚学嵌入式起步,但上手一个项目怎说都是最好的快速学习方式。因为刚了解ch376s管理U盘的数据,所以先是看了ch376s的数据手册。那我就把数据手册直接放上来吧。。。。      1、概述 CH376 是文件管理控制芯片,用于单片机系统读写 U 盘或者 SD 卡中的文件。 CH376 支持 USB 设备方式和 USB 主机方式,并且内置了 USB 通...

iBGG的博客 6004

抑郁症患者

2. 可视化分析:用 pyecharts 做交互图表(饼图、柱状图、词云),直观呈现 患者性别/年龄分布、就诊科室、病历文本特征,辅助医疗数据分析(如资源分配、病情洞察)。• 逻辑:利用字符串分割(split)和匿名函数(lambda),从混合字段 Patient_name 中拆解出性别、年龄,存入新列,解决“信息混合”问题。• 思路:先诊断(isnull().sum())、再决策(删除/填充),这里因缺失比例低且无合适填充逻辑(如日期、姓名难合理填充),选择直接删除。

mjh11111的博客 935

Overleaf-Latex-Elsevier-图、表、参考文献标题及引用、伪代码写法(绝对详细直观且易懂)

overleaf爱思唯尔模板踩过的一些坑以及解决办法

2403_87584552的博客 5851

重生之我在柳州职业技术大学学python

通过这次实践,我学到了很多。此外,我还学到了在处理实际数据时,需要细心和耐心,尤其是处理文本数据时,需要编写一些复杂的lambda函数来提取所需信息。未来,我将继续深入学习Python的高级特性,如面向对象编程、多线程和多进程等,进一步提升自己的编程能力和数据处理水平。在学习过程中,我也遇到了一些困难,如面向对象编程的理解和算法优化等,但通过查阅资料和请教老师同学,最终都得到了解决。总体而言,此次实践不仅提升了我的数据处理能力,还增强了我对Python生态中数据处理和可视化工具的理解和使用。

ccc5w11y7的博客 868

Rockchip 自定义vendorstorages数据再u-boot通过cmdline给kernel传递数据

本文介绍通过vendorstorages,允许保存和读取自定义数据。通过在U-Boot中读取这些数据并将其添加到cmdline中,将这些数据传递给Linux内核,实现了一个灵活的方式来配置和定制系统的需求。

我其实什么都不会 1819

Python 爬虫实战:豆瓣 / IMDB 电影数据抓取(评分 + 剧情 + 演员阵容结构化处理)

在数据为王的时代,电影数据是进行市场分析、推荐系统构建和学术研究的重要资源。豆瓣和 IMDB 作为国内外最具影响力的电影评分和资讯网站,包含了海量高质量的电影数据。本文将带领你从零开始,构建一个健壮的 Python 爬虫,用于抓取豆瓣和 IMDB 的电影信息,并将其中的非结构化数据(如剧情简介、演员列表)进行清洗和结构化处理,最终存储到便于分析的结构化文件(如 CSV)中。

yansideyucsdn的博客 956

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 413

QGis软件 —— 5、QGis增加线,并对线进行绘制、旋转、缩放、移动等基本操作

QGis软件 —— 5、QGis增加线,并对线进行绘制、旋转、缩放、移动等基本操作

8245

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 235

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 427

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

详解Python条件语句

在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。

2601_96798737的博客 208

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python3 协程:异步编程的核心机制与实战

协程是解决I/O密集型任务等待瓶颈的高效机制,相比线程更轻量、无锁开销。从yield到async/await的演进,使异步编程语义清晰、易于理解。通过async/await可实现并发执行多个任务(如gather、create_task),显著提升网络请求、爬虫等场景性能。关键在于使用异步库(如aiohttp)替代同步库,避免阻塞事件循环。合理控制超时与并发数,才能发挥协程最大优势。

Lxn2zh的博客 159

二进制木马免杀-Python 分离免杀与 Web 挂马

二进制木马免杀-Python 分离免杀与 Web 挂马

2503_94637398的博客 268

torch.compile 差异仅 1e-6,边界样本预测为何翻转

torch.compile 加速后输出与 eager 不一致,部分预测翻转。逐层对比与 graph break 分析定位到动态分支翻转根因。容差回归仅适用于无分支翻转场景,零容忍场景应禁用编译。

昨日种种,皆成今我。今日种种,皆成新我。 159

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级 备考:莫队算法离线区间查询详解

备赛进行时:第十八届蓝桥杯软件赛报名已于 2026-10-08 10:00 开启、12-18 14:00 截止,省赛定在 2027-04-10(C/C++·Python 程序设计 9:00–13:00);中国电子学会 2026 年 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名 9/23–12/2 16:00、统考 12-12;全国青少年信息素养大赛 2026—2027 赛季算法应用主题赛也已进入复盘练兵窗口。

IT_Scratch的博客 146

【Python】国家中小学智慧教育平台电子教材批量下载与 PDF 合成实战

成果:两本语文电子课本(一年级上册 118 页 / 23MB、三年级上册 130 页 / 30.3MB),合计 248 页、约 54MB,单本下载加合成 40~60 秒,PDF 页数校验全部通过。经验教训SPA 站点的数据接口优先从 bundle 里挖,比抓页面稳得多;资源链接要按 private/public 分组看待,只取平台公开部分;页数、目录名这类“可推断”的信息,永远用实际响应验证一次;受限环境里“能不能跑浏览器”要在方案定稿前确认。后续计划:这版 PDF 是图片版,没有文字层;

木头大左的博客 139
上一篇: 我的Python学习之旅分享
下一篇: 数据分析与可视化
张业兰
博客等级 码龄2年 51粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值