You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Pandas数据框对齐为面板以实现三维时序绘图?

嘿,这个需求我太熟悉了——处理多年份的同结构数据合并成面板,再做时间维度的可视化,其实步骤很清晰,我来给你拆解一下!

第一步:将多个DataFrame合并为面板数据

你有12个结构完全一致的DataFrame,最直接的方式是给每个数据框打上年份标签,再合并成一个大的DataFrame,这样后续不管是绘图还是分析都非常灵活。

方法一:手动添加年份列后合并

假设你的12个数据框分别命名为df_2015、df_2016……df_2026,可以这样操作:

import pandas as pd

# 给每个数据框添加年份列
df_2015['year'] = 2015
df_2016['year'] = 2016
# ... 重复这个步骤到2026年的DataFrame

# 合并所有数据框
panel_df = pd.concat([df_2015, df_2016, ..., df_2026], ignore_index=True)

方法二:用字典批量处理(更高效)

如果你的数据框已经按年份存在字典里(比如year_dfs = {2015: df_2015, 2016: df_2016, ...}),可以用列表推导式批量添加年份并合并:

panel_df = pd.concat(
    [df.assign(year=year) for year, df in year_dfs.items()],
    ignore_index=True
)

进阶:用层次化索引(MultiIndex)

如果你更倾向于传统“面板数据”的结构,可以把年份设为行索引的一部分:

panel_multi = pd.concat(
    year_dfs.values(),
    keys=year_dfs.keys(),
    names=['year', 'original_index']
)
# 后续可以随时用panel_multi.reset_index()把year转回列
第二步:这种结构是否适合三维绘图?

完全适合!合并后的面板数据完美适配三维绘图的需求——你可以轻松提取年份(X轴)、犯罪类型(Y轴)、**数值列(比如案件数量,Z轴)**这三个维度的数据。

举个Matplotlib三维散点图的示例,展示每年不同犯罪类型的案件数量:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 把犯罪类型转换成数值(三维图的Y轴需要数值型数据)
crime_cats = panel_df['Grave Crimes'].unique()
crime_to_num = {cat: idx for idx, cat in enumerate(crime_cats)}
panel_df['crime_num'] = panel_df['Grave Crimes'].map(crime_to_num)

# 创建三维画布
fig = plt.figure(figsize=(10, 6))
ax = fig.add_subplot(111, projection='3d')

# 绘制散点
ax.scatter(
    panel_df['year'],
    panel_df['crime_num'],
    panel_df['Cases Recorded'],
    s=50, c='blue', alpha=0.7
)

# 设置坐标轴标签
ax.set_xlabel('Year', fontsize=12)
ax.set_ylabel('Crime Category', fontsize=12)
ax.set_zlabel('Cases Recorded', fontsize=12)

# 把Y轴的数值换回犯罪类型名称
ax.set_yticks(list(crime_to_num.values()))
ax.set_yticklabels(list(crime_to_num.keys()))

plt.title('Crime Cases Over Years (3D View)', fontsize=14)
plt.show()

如果用Plotly这样的交互式库,合并后的面板数据也能快速生成可拖拽、缩放的三维图,体验更好。另外,这种结构也方便先做二维时间序列对比(比如每年各犯罪类型的折线图),再根据需求升级到三维可视化。


内容的提问来源于stack exchange,提问作者Indika Rajapaksha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:59:50