如何从没有索引的列中获取数据

时间:2019-12-29 16:09:55

标签: python pandas matplotlib seaborn

我是Python的初学者,我正在使用Matplotlib和Pandas创建堆积区域图(例如https://python-graph-gallery.com/251-stacked-area-chart-with-seaborn-style/)。不幸的是,它不起作用。我有以下包含数据的文件: enter image description here

现在,我需要存储每列中的值,为此,我使用以下命令:

    ts_1 = wind_data.Building_1;
    ts_2 = wind_data.Building_2;
    ts_3 = wind_data.Building_3;
    ts_4 = wind_data.Building_4;
    ts_5 = wind_data.Building_5
y= [ts_1, ts_2, ts_3, ts_4, ts_5];

如果我现在在上面的示例链接的命令中使用此命令:

# library
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# Data
x=range(1,6)


# Plot
plt.stackplot(x,y, labels=['A','B','C'])
plt.legend(loc='upper left')
plt.show()

我收到一条错误消息。我认为问题在于,当我读取变量ts_1中的单列时,我并不仅获得值,还获得了索引,如下图所示:enter image description here

如果我只能将值存储在没有索引的列的变量中,我希望可以创建堆栈图。我该怎么办?

编辑:jupyter试图合并YOLO注释的屏幕截图: enter image description here

Exel的屏幕截图,图表应如下所示: enter image description here

1 个答案:

答案 0 :(得分:1)

这是一种简单的方法:

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

# sample data, in your case this is wind_data
df = pd.DataFrame({'A': [1,2,3], 'B':[2,3,4], 'C': [5,6,7], 'D': [6,7,8]})

# from here, replace df with wind_data 
x = range(df.shape[1])
y = df.values.tolist()

plt.stackplot(x,y, labels=df.columns)
plt.legend(loc='upper left')
plt.show()

或者,您也可以这样做:

wind_data.plot.area() # or you can also do df.plot.area()