Python 如何绘制整个数据数组,而不仅仅是其中的单个值?

Python 如何绘制整个数据数组,而不仅仅是其中的单个值?,python,Python,我试图在一个折线图上绘制200个频率与dB的数据点。我的代码首先有很多东西要去掉数据18行中的标题,然后尝试将列frequency和dB保存为数组并绘制它们,但是python输出的是一个没有错误的空白图 python非常新,所以不确定在这里做什么!提前谢谢 这是我目前的代码: import csv import numpy as np import matplotlib.pyplot as plt def skip_first(seq,n): for i, item in enume

我试图在一个折线图上绘制200个频率与dB的数据点。我的代码首先有很多东西要去掉数据18行中的标题,然后尝试将列frequency和dB保存为数组并绘制它们,但是python输出的是一个没有错误的空白图

python非常新,所以不确定在这里做什么!提前谢谢

这是我目前的代码:

import csv
import numpy as np
import matplotlib.pyplot as plt


def skip_first(seq,n):
    for i, item in enumerate(seq):
        if i>=n:
            yield item

frequency=[]
dB=[]
with open('2.csv','r') as s11_load:
    csvreader = csv.reader(s11_load)
    for row in skip_first(csvreader, 18):
       frequency = row[0]
       dB = row[1]
       print(frequency)
       #print(dB)

plt.plot(frequency,dB,linestyle='-',color='b')

plt.show()

尝试使用Pandas软件包,它可以简化您的代码:

import pandas as pd
df = read_csv("path to file", skiprows = 18) #skip headers
df.plot(x = , y = ) #Plots graph using matplotlib
在每个循环中,给频率和分贝一个新值一个浮点数。所以,当你试图绘制图表时,它们只是单个值

您已经将它们定义为列表,只需将值添加到这些列表:

frequency=[]
dB=[]
with open('2.csv','r') as s11_load:
    csvreader = csv.reader(s11_load)
    for row in skip_first(csvreader, 18):
       frequency.append(row[0])
       dB.append(row[1])

您总是更新频率和数据库列表,而不是附加到它们

尝试替换:

frequency = row[0]
dB = row[1]
作者:


这应该能奏效。快乐编码。

您能给我们一个csv示例,让我们测试您的代码吗?有没有不使用熊猫数据帧的原因。skiprows只是其中的一个参数。我对熊猫一点也不熟悉,所以我最初没有使用它
frequency.append(row[0])
dB.append(row[1])