gpt4 book ai didi

python - 循环遍历数据框中的数组并按组绘图

转载 作者:行者123 更新时间:2023-12-04 08:10:18 24 4
gpt4 key购买 nike

我有一个包含 X 和 Y 位置数据并有 3 个分组变量的数据框:

  • obsScenario(0、1 或 2)
  • 起始位置(1 或 2)
  • 目标位置(1、2 或 3)。

  • 因此,这些分组变量有 18 种组合:3 x 2 x 3
    每个参与者的 X 和 Y 数据长度约为 300-500 个数据点(不同)。
    数据框如下所示:
                  X         Y  participantNum  obsScenario  startPos  targetPos
    0 -16.000000 5.000000 6432024 0 1 1
    1 -16.000000 5.000000 6432024 0 1 1
    2 -15.833450 5.000000 6432024 0 1 1
    3 -15.667200 5.000000 6432024 0 1 1
    4 -15.500100 5.000000 6432024 0 1 1
    ... ... ... ... ... ...
    2185 -1.572058 -3.982638 7830381 2 2 2
    2186 -1.406996 -3.958967 7830381 2 2 2
    2187 -1.242231 -3.935339 7830381 2 2 2
    2188 -1.077516 -3.911718 7830381 2 2 2
    2189 -0.912604 -3.888069 7830381 2 2 2
    我需要为这 18 种组合中的每一种分别绘制 X、Y 数据。
    我试图使用这样的东西,但这只是在同一个图上绘制所有 XY 轨迹:
    for aid, grp in df.groupby(['obsScenario', 'startPos', 'targetPos']):
    plt.plot(grp[0].values, grp[1].values)
    plt.show()
    使用这样的东西不会考虑分组变量的不同组合:
    fig, axs = plt.subplots(nrows=3, ncols=6)

    for ax in axs.flat:
    plotxy(ax,x,y)

    最佳答案

    这就是我一直在寻找的:

    fig, axs = plt.subplots(6,3)
    grp = df.groupby(['obsScenario', 'startPos', 'targetPos'])
    for (name, df), ax in zip(grp, axs.flat):
    df.plot(x='X',y='Y', ax=ax)

    关于python - 循环遍历数据框中的数组并按组绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66005764/

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