python - 带有多索引列的熊猫子图
问题描述
根据以下答案,我应该能够使用带有多索引的子图来显示成对图:Pandas Plotting with Multi-Index
但这似乎对我不起作用。这是一个例子:
import pandas as pd
import numpy as np
# prepare example data
adf = pd.DataFrame(index = pd.date_range('2019-01-01', periods=30),
data= np.random.randint(0,100,(30,2)), columns=['X','Y'])
bdf = pd.DataFrame(index = pd.date_range('2019-01-01', periods=30),
data= np.random.randint(0,100,(30,2)), columns=['X','Y'])
df = pd.concat({'a': adf, 'b': bdf}).unstack(level=0)
# plot
_ = df.plot(kind='line', subplots=True, figsize=(10, 10))
结果是每列有 4 个图。
但我想要两个像这样的成对图:
我可以通过以下行来实现这一点:
_ = [df.loc[:,df.columns.get_level_values(0) == c].plot() for c in df.columns.get_level_values(0).unique()]
但这不应该通过多索引和子图功能实现吗?
解决方案
推荐阅读
- python - 如何修补 python 方法以运行测试用例?
- firebase - Firebase 应用程序未访问函数(例如 firebase.auth())
- angular - DOM 元素中的值不会在组件更新的同时更新
- python - 如何找到两个 3d 向量的点积,它们是列表和类中的 args,我在其中使用了 __mul__?
- java - 新空项目上的 Android Studio org.gradle.api.tasks.TaskExecutionException
- http - ApacheBench 仅使用“-race”标志从 Go 服务器获取“对等连接重置”
- sql - 用缺少的列值填充 postgres 表行
- javascript - 验证 Token JWT 是否有效
- python - Dask Dataframe - 每行多行
- java - Java:在 bash/命令行中从多个文件和包创建可执行文件