Python 熊猫子地块使用两个系列
我有两个系列包含相同的数据,但是它们包含不同数量的数据。我想通过制作一个条形图来比较这两个系列,并将两者进行比较。下面是我到目前为止所做的Python 熊猫子地块使用两个系列,python,pandas,Python,Pandas,我有两个系列包含相同的数据,但是它们包含不同数量的数据。我想通过制作一个条形图来比较这两个系列,并将两者进行比较。下面是我到目前为止所做的 import matplotlib.patches as mpatches fig = plt.figure() ax = fig.add_subplot(111) width = 0.3 tree_amount15.plot(kind='bar', color='red', ax=ax, width=width, position=1, label
import matplotlib.patches as mpatches
fig = plt.figure()
ax = fig.add_subplot(111)
width = 0.3
tree_amount15.plot(kind='bar', color='red', ax=ax, width=width, position=1, label='NYC')
queens_tree_types.plot(kind='bar', color='blue', ax=ax, width=width, position=0, label='Queens')
plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
ncol=2, mode="expand", borderaxespad=0.)
ax.set_ylabel('Total trees')
ax.set_xlabel('Tree names')
plt.show()
这给了我以下图表:
我的问题是,尽管每个系列中所有的“树名”都是相同的,“总树数”当然是不同的,因此,例如,“树数15”中的“5”(Callery pear)只有“5”,而“皇后树类型”中的“3”等等。如何对序列进行排序,使其值与图表上显示的正确标签相对应?因为现在,首先添加的是序列中的标签,如图所示,这使得第二个序列的值具有误导性
有什么提示吗
下面是这两个系列的外观,当我对它们进行值计算时
树木数量15:
London planetree 87014
honeylocust 64264
Callery pear 58931
pin oak 53185
Norway maple 34189
littleleaf linden 29742
cherry 29279
Japanese zelkova 29258
ginkgo 21024
Sophora 19338
red maple 17246
green ash 16251
American linden 13530
silver maple 12277
sweetgum 10657
northern red oak 8400
silver linden 7995
American elm 7975
maple 7080
purple-leaf plum 6879
皇后树类型:
London planetree 31111
pin oak 22610
honeylocust 20290
Norway maple 19407
Callery pear 16547
cherry 13497
littleleaf linden 11902
Japanese zelkova 8987
green ash 7389
silver maple 6116
ginkgo 5971
Sophora 5386
red maple 4935
American linden 4769
silver linden 4146
purple-leaf plum 3035
maple 2992
northern red oak 2697
sweetgum 2489
American elm 1709
可以从使用树名索引的两个系列中创建数据帧。默认情况下,pandas将按字母顺序对索引进行排序,因此我们告诉它使用NYC的值进行排序。将两个系列作为列,我们可以使用对
plot
方法的单个调用将它们放在同一个图上
df = pd.concat([tree_amount15, queens_tree_types], axis=1).rename_axis(
{0:'NYC', 1:'Queens'}, axis='columns') # sets the column names
df.sort_values('NYC', ascending=False) # sort the df using NYC values
df.plot.bar(color=['red','blue'])
可以从使用树名索引的两个系列中创建数据帧。默认情况下,pandas将按字母顺序对索引进行排序,因此我们告诉它使用NYC的值进行排序。将两个系列作为列,我们可以使用对
plot
方法的单个调用将它们放在同一个图上
df = pd.concat([tree_amount15, queens_tree_types], axis=1).rename_axis(
{0:'NYC', 1:'Queens'}, axis='columns') # sets the column names
df.sort_values('NYC', ascending=False) # sort the df using NYC values
df.plot.bar(color=['red','blue'])
您是说与
Callery pear
对应的蓝色条不正确,应该是HoneyOccess
列中的蓝色条?标签与蓝色条正确对应,但红色条不正确。就好像它只是以任意顺序绘制了两个系列,然后为最后添加的系列添加了标签。这意味着红色条与标签不符。您可以发布一个来自树\u数量15
和皇后树\u类型的数据示例吗?这些是熊猫系列还是数据帧对象?它们是熊猫系列。我已经更新了OP。你是说对应于Callery pear
的蓝色条不正确,应该是Honeyhocust
列中的蓝色条?标签与蓝色条正确对应,但红色条不正确。就好像它只是以任意顺序绘制了两个系列,然后为最后添加的系列添加了标签。这意味着红色条与标签不符。您可以发布一个来自树\u数量15
和皇后树\u类型的数据示例吗?这些是熊猫系列还是数据帧对象?它们是熊猫系列。我已经更新了操作。整洁,谢谢。由于某种原因,重命名不起作用,所以我删除了它,改为df.columns=['NYC','Queens']
!很好,谢谢。由于某种原因,重命名不起作用,所以我删除了它,改为df.columns=['NYC','Queens']
!