gpt4 book ai didi

python - 如何创建多列索引数据框以及如何为每组值绘制图表

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:08 25 4
gpt4 key购买 nike

  1. 我想创建一个数据框,如下所示。图片来 self 在excel中的内容。我不想从 excel 导入,而是直接在 pandas 中创建它。我认为使用 pd.MultiIndex.from_product 创建多索引应该是可能的,但我无法弄清楚。

enter image description here

  1. 我想为同一图表中的所有 A、B 和 C 创建一个以 x 为 x 轴,y 为 y 轴的图表。我认为这也是可能的,但不确定如何实现。

图中have中的值可以忽略。它可以是随机值,不是问题。稍后我会想方设法输入我想要的值。

最佳答案

以下是创建 MultiIndex.from_product 的方法.对于绘图,您需要稍微重组数据 - 我正在使用 stackreset_index这里。我推荐 seaborn.Facetgrid便于配置散点子图。

import matplotlib.pyplot as plt
import seaborn as sns

# Create MultiIndex from_product
columns = pd.MultiIndex.from_product([['A', 'B', 'C'], ['x', 'y']])

np.random.seed(0)
df = pd.DataFrame(np.random.randn(10, 6), columns=columns)
print(df)

A B C
x y x y x y
0 1.764052 0.400157 0.978738 2.240893 1.867558 -0.977278
1 0.950088 -0.151357 -0.103219 0.410599 0.144044 1.454274
2 0.761038 0.121675 0.443863 0.333674 1.494079 -0.205158
3 0.313068 -0.854096 -2.552990 0.653619 0.864436 -0.742165
4 2.269755 -1.454366 0.045759 -0.187184 1.532779 1.469359
5 0.154947 0.378163 -0.887786 -1.980796 -0.347912 0.156349
6 1.230291 1.202380 -0.387327 -0.302303 -1.048553 -1.420018
7 -1.706270 1.950775 -0.509652 -0.438074 -1.252795 0.777490
8 -1.613898 -0.212740 -0.895467 0.386902 -0.510805 -1.180632
9 -0.028182 0.428332 0.066517 0.302472 -0.634322 -0.362741

# Scatter subplots
g = sns.FacetGrid(df.stack(level=0).reset_index(), row='level_1')
g.map(plt.scatter, 'x', 'y')

enter image description here

或者,如果您需要一个区分“A”、“B”和“C”的绘图,您可以尝试:

sns.scatterplot(data=df.stack(level=0).reset_index(), x='x', y='y', hue='level_1')

enter image description here

关于python - 如何创建多列索引数据框以及如何为每组值绘制图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59089407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com