如何用pyplot绘制pandas读取的CSV指定行范围的单列图表
实现方法
前置说明
pandas 读取CSV后默认行索引从0开始计数,且切片遵循左闭右开规则。你提到的「第12行到第29000行」如果是CSV文件中从首行(含表头)开始数的行号,对应数据切片的起始位置为11,结束位置为29000。
方法1:全量读取后切片(适合内存充足的场景)
- 第一步:导入依赖库
import pandas as pd import matplotlib.pyplot as plt
- 第二步:读取CSV并提取目标数据
将示例中的你的文件路径.csv替换为实际文件路径,目标列名替换为你要绘制的列的名称:
# 读取全量CSV df = pd.read_csv("你的文件路径.csv") # 提取指定行范围、指定列的数据 # 若你要通过列的位置索引取数(9列对应索引0~8),可以把列名替换为iloc的列参数,比如 df.iloc[11:29000, 0] 取第一列 target_data = df.loc[11:28999, "目标列名"]
- 第三步:绘制图表
以折线图为例,你也可以替换为柱状图、散点图等其他pyplot支持的图表类型:
# 绘制折线图 plt.plot(target_data) # 可选:添加图表标注 plt.title("目标列第12-29000行数据趋势") plt.xlabel("行序号") plt.ylabel("数值") # 显示图表 plt.show()
方法2:仅读取需要的行和列(大文件推荐,节省内存)
不需要加载全量90万行数据,读取时直接过滤需要的范围:
# usecols指定只读取目标列,skiprows跳过前11行(表头之后的前11行数据),nrows指定读取28989行(12到29000行共28989条数据) df = pd.read_csv("你的文件路径.csv", usecols=["目标列名"], skiprows=range(1, 12), nrows=28989) # 直接绘图 plt.plot(df) plt.show()
内容的提问来源于stack exchange,提问作者Srivatsan M
相关产品推荐
相关产品推荐

