【问题标题】:Python Seaborn Pandas Dataframe plot first few groupsPython Seaborn Pandas Dataframe 绘制前几组
【发布时间】:2019-07-22 19:49:02
【问题描述】:

我需要只绘制前 n 个组,或者从 pandas 数据框中的一组组中绘制几个 n 项的图。框架包含列作为

import pandas as pd
import seaborn as sns; sns.set()
import numpy as np
datain = np.loadtxt("data.txt")

df = pd.DataFrame(data = datain, columns = ["t","p","x","y","z"])

使用 numpy 从文件中简单地加载。当前的绘图代码是,

ax2 = sns.scatterplot("t","x", data = df, hue = "p")
plt.show()

hue 字段给出了分组,因此它是根据数据文件中的聚合物编号参数进行分组的。结构是文件中的“N”个聚合物,比如说 10,所以前 10 行都是不同的“p”值,具有相同的“t”值和一些 x、y、z 坐标数据。绘制坐标数据与时间的关系是主要应用。举个例子,我想绘制前 3 个组,所以前 3 个聚合物,在那个 plot 命令的集合中,我需要知道如何做到这一点,然后当然要绘制接下来的 3 个,等等。对数据帧来说非常新,所以我有点困惑如何管理它。

为清楚起见进行编辑,这是表格,使用 N = 5,

t   p  x  y  z
10  0  1  3  2
10  1  4  2  1
10  2  5  6  3
10  3  7  5  3
10  4  -9  5  2
20  0  1  -1  1
20  1  0  1  -1
20  2  3  9  -2
20  3  5  6  9
20  4  -5  9  6

因此,前两组的理想输出是:

t   p  x  y  z
10  0  1  3  2
10  1  4  2  1
20  0  1  -1  1
20  1  0  1  -1

然后我仍然可以通过将它们的 p 值分组来绘制。

【问题讨论】:

    标签: python pandas grouping seaborn


    【解决方案1】:

    如果您特别需要在同一张图表上一起绘制多个组(聚合物),您可以将数据框子集/过滤为您的绘图所需的聚合物 (p) 值,例如:

    df[df['p'].isin([0,1])]
    

    并将输出传递给 scatterplot 命令。

    【讨论】:

      猜你喜欢
      • 2017-12-09
      • 2017-02-21
      • 2017-09-09
      • 1970-01-01
      • 2016-12-01
      • 2017-03-11
      • 1970-01-01
      • 2020-09-11
      • 2021-07-18
      相关资源
      最近更新 更多