如何在Pandas绘图中指定列作为坐标轴,去除行索引干扰
解决方法
你可以通过明确指定x轴和y轴对应的列数据来解决这个问题,以下是两种常用的实现方式:
方式一:直接使用Matplotlib绘图
直接提取DataFrame的第一列和第二列数据,作为plt.plot()的x、y参数传入即可:
import matplotlib.pyplot as plt import pandas as pd # 假设你的DataFrame名为df plt.plot(df.iloc[:, 0], df.iloc[:, 1]) # iloc[:,0]取第一列所有行,iloc[:,1]取第二列所有行 plt.xlabel(df.columns[0]) # 可选:给x轴添加对应列名的标签 plt.ylabel(df.columns[1]) # 可选:给y轴添加对应列名的标签 plt.show()
方式二:使用Pandas自带的plot方法
利用Pandas内置的plot()方法,通过x和y参数指定对应列名:
# 假设你的DataFrame名为df df.plot(x=df.columns[0], y=df.columns[1]) plt.show()
原理说明
之前绘图出现两条曲线、用行索引当x轴的原因是:当你直接调用plt.plot(df)或df.plot()时,Pandas默认会把每一列数据都作为独立的y轴系列,行索引自动作为x轴,因此会生成两条独立曲线。而明确指定x、y列后,就会仅用你需要的两列生成一条x-y关系曲线。
内容的提问来源于stack exchange,提问作者Zelreedy
相关产品推荐
相关产品推荐

