我正在尝试从CSV文件将年度数据读取到Pandas数据框中,但是它无法正确读取年份。我认为问题在于我必须转置行和列。这是一个显示问题的简化示例。from io import StringIOimport matplotlib.pyplot as pltimport pandas as pdimport seaborn as sn# This is what I wish I had.csv_source1 = StringIO("""\year,Apples,Bananas,Cherries1990,1,2,31997,1,4,91999,1,8,27""")df1 = pd.read_csv(csv_source1, index_col=0)df1.index.names = ['Year']df1.columns.names = ['fruit']# This is what I actually have.csv_source2 = StringIO("""\fruit,1990,1997,1999Apples,1,1,1Bananas,2,4,8Cherries,3,9,27""")# So I transpose it.df2 = pd.read_csv(csv_source2, index_col=0).Tdf2.index.names = ['Year']sn.set()ax = plt.subplot(211)df1.plot(ax=ax)ax = plt.subplot(212)df2.plot(ax=ax)plt.tight_layout()plt.show()生成这对图:我想绘制多年来每种水果的价格,但是我正在读取的数据中每种水果都有一行,每年都有一列。第一张图显示了当我绘制希望的数据时会发生什么。第二幅图显示了当我对转置后的数据进行绘图时会发生什么。为什么在第二个图的x轴上未显示年份?数据间隔均匀,所以甚至不读取年份数据吗?
添加回答
举报
0/150
提交
取消