python - 列名和绘图中的分组字符串
问题描述
可重现:
nan = np.NaN
bynote = {'bynote_n1_trial_ms': {0: -18963961,
1: 31992270,
2: -13028311,
3: 31992270,
4: -13028311,
5: -13028311},
'bynote_n2_trial_ms': {0: nan,
1: -13028311.0,
2: nan,
3: nan,
4: nan,
5: nan},
'bynote_n3_trial_ms': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan, 5: nan},
'n1': {0: 60, 1: 60, 2: 60, 3: 40, 4: 40, 5: 30},
'n2': {0: nan, 1: 40.0, 2: 40.0, 3: nan, 4: 30.0, 5: nan},
'n3': {0: nan, 1: nan, 2: 30.0, 3: nan, 4: nan, 5: nan}}
bynote = pd.DataFrame().from_dict(bynote)
我想绘制一个图表,其中列 n1、n2 等是 x 值,而 bynote_n1_trial_ms、bynote_n2_trial_ms 等是相应的 y 值。
我应该以某种方式对一个字符串(即 n1 等)进行分组,或者我该怎么做?
编辑:
每行代表一个单独的图,其中左侧 DF 为 y,右侧为 x。
解决方案
我相信可以单独使用每个 DataFrame :
df1 = bynote.iloc[:, 3:]
df2 = bynote.iloc[:, :3]
因此,通过压缩列使用循环plt.plot()
:
import matplotlib.pyplot as plt
for x, y in zip(df1.columns, df2.columns):
plt.plot(df1[x], df2[y])
plt.show()
编辑:
for x, y in zip(df1.columns, df2.columns):
plt.figure()
plt.plot(df1[x], df2[y])
plt.show()
推荐阅读
- python - 如何在 Python 中修复“无法分配给函数调用”
- javascript - 如何使用 twitter api 和 node.js 获取推文的转发者
- javascript - 普通 javascript 触发 css 淡出,ajax 加载内容,使用 CSS 淡入
- mysql - MySQL 8 选择语句以获取“Last_query_cost”
- javascript - angular 在重建之前找不到模块
- python - PyTorch 嵌入层引发“预期...cuda...但得到...cpu”错误
- swift - 更改 NSButton 的图像
- python - GitPython:在运行时设置 git 可执行文件
- quarkus - java.util.MissingResourceException:无法通过 com.sun.org.apache.xml.internal.res.XMLErrorResources 加载任何资源包
- c# - Unity 3D 可以使用关卡号解锁成就吗?