我希望在重叠的区间中绘制每组10个点的数据集。
values1 = [29, 31, 24, 30, 30, 14, 25, 35, 27, 31]
values2 = [36, 29, 29, 29, 34, 33, 27, 34, 36, 39]
当我将它们添加到数据框时,它们会显示为2列。 我希望绘制2行,每行有10个重叠的列。
df1 = pd.DataFrame(values1, values2)
随后当我使用直方图绘制它们时,它们无法正确显示
df1.plot.hist(stacked = True)
plt.show()
所以我的目标是在数组中的每个数字之间进行成对比较。 29 - 36,31 - 29,24 - 29等。
我想绘制它们以便它们重叠作为这个例子 http://pandas.pydata.org/pandas-docs/stable/_images/hist_new_stacked.png 但是我只有值而不是三个,例如。
答案 0 :(得分:1)
您可以将它们作为值传递给dict:
values1 = [29, 31, 24, 30, 30, 14, 25, 35, 27, 31]
values2 = [36, 29, 29, 29, 34, 33, 27, 34, 36, 39]
df1 = pd.DataFrame({'values1':values1, 'values2':values2})
df1.plot.hist(stacked = True)
你做了什么导致ctor将传递的值解释为单列数据,然后是索引值:
pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
比较差异:
In [166]:
pd.DataFrame(values1, values2)
Out[166]:
0
36 29
29 31
29 24
29 30
34 30
33 14
27 25
34 35
36 27
39 31
In [167]:
pd.DataFrame({'values1':values1, 'values2':values2})
Out[167]:
values1 values2
0 29 36
1 31 29
2 24 29
3 30 29
4 30 34
5 14 33
6 25 27
7 35 34
8 27 36
9 31 39