gpt4 book ai didi

python - 仅绘制大型 Pandas 数据框中的唯一行

转载 作者:太空宇宙 更新时间:2023-11-04 07:31:57 24 4
gpt4 key购买 nike

我有一个 434300 行的 pandas 数据框,其结构如下:

       x    y        p1  p2 
1 8.0 1.23e-6 10 12
2 7.9 4.93e-6 10 12
3 7.8 7.10e-6 10 12
...
.
...
4576 8.0 8.85e-6 5 16
4577 7.9 2.95e-6 5 16
4778 7.8 3.66e-6 5 16
...
...
...
434300 ...

关键点在于,对于每个 x,y 数据 block ,都有 不变 的 p1 和 p2。请注意,这些常量 p1、p2 的 block 具有不同的长度,因此这不仅仅是每 n 行对数据进行切片的问题。

我想在图表中绘制 p1 与 p2 的值,但只想绘制独特的点。

如果我使用以下方法绘制 p1 vs p2:

In [1]: fig=plt.figure()
In [2]: ax=plt.subplot(111)
In [3]: ax.plot(df['p1'],df['p2'])
In [4]: len(ax.lines[0].get_xdata())
Out[4]: 434300

我看到 matplotlib 正在绘制预期的每一行数据。

仅绘制 p1 和 p2 列中唯一点的最简洁方法是什么?

Here是一个小型示例数据集的 csv,它具有我的数据集的所有重要特征。

最佳答案

只需删除重复项并绘制:

df.drop_duplicates(how='all', columns=['p1', 'p2'])[['p1', 'p2]].plot()

关于python - 仅绘制大型 Pandas 数据框中的唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45556638/

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