Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫子地块使用两个系列_Python_Pandas - Fatal编程技术网

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']