gpt4 book ai didi

python - 使用包含重复列名的 .csv 文件中的 matplotlib 绘图

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

我正在使用组合的 ID1 和 ID2 列绘制线条。在 .csv 文件中,ID1 和 ID2 编号可能在某些时候重复。当 ID2 = 0 时,直接遵循确定数据是否需要换行的方法。我希望程序将我在下面提供的样本数据识别为 2 个单独的行。

ID1 ID2  x  y
1 2 1 1
1 2 2 2
1 2 3 3
1 2 4 4
1 0 5 5
...
1 2 1 3
1 2 2 5
1 2 3 7

现在,我的程序会将这些数据绘制成相同颜色的连续线。我需要不同颜色的新行,但我无法弄清楚如何过滤数据以开始新行,即使 ID1 和 ID2 值重复也是如此。程序需要将 ID2 列中的“0”视为开始新行的信号。任何想法都会非常有帮助。

最佳答案

一个选项是找出零的索引并遍历它们以创建要绘制的单独数据帧。

u = u"""ID1 ID2  x  y
1 2 1 1
1 2 2 2
1 2 3 3
1 2 4 4
1 0 5 5
1 2 1 3
1 2 2 5
1 2 3 7
1 0 1 3
1 2 2 4
1 2 3 2
1 2 4 1"""

import io
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.read_csv(io.StringIO(u), delim_whitespace=True)

fig, ax = plt.subplots()

inx = list(np.where(df["ID2"].values==0)[0]+1)
inx = [0] + inx + [len(df)]
for i in range(len(inx)-1):
dff = df.iloc[inx[i]:inx[i+1],:]
dff.plot(x="x", y="y", ax=ax, label="Label {}".format(i))

plt.show()

enter image description here

关于python - 使用包含重复列名的 .csv 文件中的 matplotlib 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633286/

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