pandas 在循环中绘制 Dataframe 值

tktrz96b  于 2023-01-28  发布在  其他
关注(0)|答案(2)|浏览(202)

我有一个名为data.csvcsv文件,它包含[10000行x 1列],我将数据读取为

a=read_csv("data.csv")

print(a)

                                                  dt
0     3.5257,3.5257,3.5257,3.5257,3.5257,3.5257,3.52...
1     3.3414,3.3414,3.3414,3.3414,3.3414,3.3414,3.34...
2     3.5722,3.5722,3.5722,3.5722,3.5722,3.5722,3.57...
.....

现在我想在循环中绘制每个索引行,并以索引值的名称保存每个图。

i need to produce 0.jpg by using o indexed values ---->  3.5257,3.5257,3.5257,3.5257,3.5257,3.5257,3.52...
similarly 1.jpg by using 1 index values---->  3.3414,3.3414,3.3414,3.3414,3.3414,3.3414,3.34...

我的代码

a=read_csv("data.csv")
print(a)
for data in a:
    plt.plot(data)

希望Maven们能帮我解答。谢谢。

fwzugrvs

fwzugrvs1#

使用savefig创建图像文件:

import matplotlib.pyplot as plt

for name, data in a['dt'].str.split(',').items():
    plt.plot(data)
    plt.savefig(f'{name}.jpg')
    plt.close()

0.jpg

1.jpg

tvokkenx

tvokkenx2#

使用以下file.csv示例:

3.5257,3.5257,3.5257,3.5257,3.5257,3.5257,3.52
3.3414,3.3414,3.3414,3.3414,3.3414,3.3414,3.34
3.5722,3.5722,3.5722,3.5722,3.5722,3.5722,3.57

下面是使用Pandas iterrows和Python f字符串的一种方法:

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv("../file.csv", header=None)

for i, row in df.iterrows():
    fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(8, 4))
    ax.plot(row)
    fig.savefig(f"./{i}.png")

相关问题