3、Python环境搭建:Anaconda安装、Jupyter Notebook配置、NetworkX库安装、Matplotlib安装

说实话,很多初学者一上来就急着写代码,结果环境没配好,折腾半天连个图都画不出来。我见过太多这样的案例了。所以这一章,咱们先把地基打牢。

金融网络分析,说白了就是拿Python去处理图数据。你需要三个核心工具:Anaconda(管理环境)、Jupyter Notebook(写代码)、NetworkX + Matplotlib(画网络图)。下面我一步步带你搞定。

Python 金融网络分析环境搭建 Anaconda 发行版 Jupyter Notebook NetworkX 库 Matplotlib 一键安装 Python + 科学计算库 交互式编程 + 图分析 + 可视化

3.1 为什么选 Anaconda?

你想想看,如果手动装 Python,再一个个装 NumPy、Pandas、Scipy……光依赖冲突就能让你崩溃。Anaconda 把这些打包好了,一键安装,省心省力。

我个人习惯用 Anaconda 来管理多个 Python 环境。比如一个环境做金融网络分析,另一个做机器学习,互不干扰。这在项目里特别实用——我曾经因为环境混乱,导致一个跑了两天的模型突然报错,后来才发现是某个库版本被覆盖了。从那以后,我每个项目都建独立环境。

核心优势:

  • 自带 Python 解释器 + 150+ 常用科学计算库
  • 内置 conda 包管理器,解决依赖问题
  • 支持创建隔离环境,避免版本冲突

3.2 Anaconda 安装步骤

嗯,这里要注意:一定要去官网下载(anaconda.com),别去第三方网站。我见过有人从百度网盘下载,结果装了个带广告的版本。

  1. 选择版本:建议 Python 3.9 或 3.10 版本(2024年推荐 2023.09 以上版本)
  2. 安装路径:不要有中文和空格。比如 D:\Anaconda3
  3. 关键选项:安装时勾选「Add Anaconda3 to my PATH environment variable」
  4. 验证安装:打开终端(cmd),输入 conda --version

小技巧:安装完成后,建议先更新 conda 本身:conda update conda。我每次装新机器都会先跑这条命令,避免后续安装包时出现版本不匹配。

3.3 Jupyter Notebook 配置

Jupyter Notebook 是交互式编程的神器。你写一段代码,立刻看到结果,特别适合做数据分析探索。

安装 Anaconda 后,Jupyter 已经自带了。你只需要在终端输入:

jupyter notebook

浏览器会自动打开一个页面。但默认配置有几个坑,我帮你踩过了:

避坑指南:

  • 我曾经因为没改工作目录,每次打开都要手动切换到项目文件夹。建议修改默认路径:jupyter notebook --generate-config,然后找到 c.NotebookApp.notebook_dir 设置成你的工作目录。
  • 如果启动报错,试试 conda install jupyter 重新安装。
  • 建议安装 jupyter_contrib_nbextensions,提供代码折叠、目录生成等插件,效率翻倍。

3.4 安装 NetworkX 库

NetworkX 是金融网络分析的核心库。它提供了图结构、节点、边的操作,以及各种网络分析算法。

安装很简单,在终端输入:

conda install networkx

或者用 pip:

pip install networkx

我个人推荐用 conda 安装,因为它会自动处理依赖。比如 NetworkX 依赖 NumPy 和 SciPy,conda 会一并装好。

验证是否安装成功:

python -c "import networkx as nx; print(nx.__version__)"

如果输出版本号(比如 3.2.1),就说明装好了。

金融网络分析常用功能:

  • 创建有向图/无向图:nx.Graph()nx.DiGraph()
  • 添加节点和边:G.add_edge('A', 'B', weight=0.5)
  • 计算中心性指标:nx.degree_centrality(G)
  • 社区发现:nx.community.greedy_modularity_communities(G)

3.5 安装 Matplotlib

光有 NetworkX 还不够,你得把网络图画出来。Matplotlib 就是干这个的。

安装命令:

conda install matplotlib

验证:

python -c "import matplotlib.pyplot as plt; print('OK')"

这里有个小坑:我曾经在 Jupyter 里画图,发现中文显示成方框。这是因为 Matplotlib 默认字体不支持中文。解决方案:

plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False    # 解决负号显示问题

建议把这行代码放在 Jupyter Notebook 的开头,一劳永逸。

3.6 快速测试:画一个简单的网络图

装完所有东西,我们来测试一下。在 Jupyter Notebook 里输入:

import networkx as nx
import matplotlib.pyplot as plt

# 创建一个简单的金融网络
G = nx.Graph()
G.add_edge('银行A', '银行B', weight=0.8)
G.add_edge('银行B', '银行C', weight=0.6)
G.add_edge('银行A', '银行C', weight=0.4)

# 画图
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_color='lightblue', 
        node_size=1500, font_size=12, font_weight='bold')
edge_labels = nx.get_edge_attributes(G, 'weight')
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)
plt.title('银行间借贷关系网络')
plt.show()

如果能看到三个节点和它们之间的连线,恭喜你——环境搭建成功了!

我的经验:刚开始学的时候,别追求复杂的图。先画 5 个节点以内的网络,理解节点、边、权重的概念。等熟悉了,再处理几百个节点的真实金融网络。

3.7 环境管理小贴士

最后,分享几个我常用的 conda 命令:

命令 作用
conda create -n fin_net python=3.9 创建名为 fin_net 的独立环境
conda activate fin_net 激活该环境
conda deactivate 退出当前环境
conda list 查看已安装的包
conda remove -n fin_net --all 删除整个环境

说白了,环境管理就是给你的每个项目一个「干净的房间」。别让它们互相串门,否则出了问题你都不知道找谁。

好了,环境搭好了,下一章咱们就开始真正玩转金融网络数据了。


专注资料整理