Python - 使用列表、字典理解和映射来更改情节顺序
Python - Using a List, Dict Comprehension, and Mapping to Change Plot Order
我对 Python、Pandas 和绘图比较陌生。我希望在 pandas 绘图中使用列表、映射并将它们发送到绘图函数来创建自定义排序顺序。
我不是 "solid" 映射或字典理解。我在 Google 上四处看了看,没有发现任何真正清楚的东西 - 所以任何有用的参考资料都将不胜感激。
我有一个数据框,它是 groupby 的结果:
Exchange
AMEX 267
NYSE 2517
Nasdaq 2747
Name: Symbol, dtype: int64
数值列为'Symbol',交易所列表为索引
当我做一个直截了当的pandas情节
my_plot = Exchange['Symbol'].plot(kind='bar')
我明白了:
这些列按照数据框中的行顺序排列(美国证券交易所、纽约证券交易所、纳斯达克),但我想从左到右展示纽约证券交易所、纳斯达克和美国证券交易所。所以 "sort" 将不起作用。
还有一个post:
Sorting the Order of Bars
明白了 - 但我就是想不通。
我觉得解决方案是我力所能及的一步。我认为这是一个非常重要的概念,因为它会极大地帮助我可视化数据,其中需要在图表中显示自定义行的情况并不少见。我也希望这里的讨论可以帮助我更好地理解映射,因为它在许多情况下似乎非常有用,但我似乎无法找到合适的在线资源来清楚地解释它。
提前致谢。
您的问题的解决方案是将输出数据帧按所需顺序排列:
order = [1,2,0] # the desired order
Exchange['Symbol'].iloc[order]
NYSE 2517
Nasdaq 2747
AMEX 267
Name: Symbol, dtype: int64
只要你有正确排序的数据,你就可以绘制它:
Exchange['Symbol'].iloc[order].plot(kind='bar');
我对 Python、Pandas 和绘图比较陌生。我希望在 pandas 绘图中使用列表、映射并将它们发送到绘图函数来创建自定义排序顺序。
我不是 "solid" 映射或字典理解。我在 Google 上四处看了看,没有发现任何真正清楚的东西 - 所以任何有用的参考资料都将不胜感激。
我有一个数据框,它是 groupby 的结果:
Exchange
AMEX 267
NYSE 2517
Nasdaq 2747
Name: Symbol, dtype: int64
数值列为'Symbol',交易所列表为索引
当我做一个直截了当的pandas情节
my_plot = Exchange['Symbol'].plot(kind='bar')
我明白了:
这些列按照数据框中的行顺序排列(美国证券交易所、纽约证券交易所、纳斯达克),但我想从左到右展示纽约证券交易所、纳斯达克和美国证券交易所。所以 "sort" 将不起作用。
还有一个post:
Sorting the Order of Bars
明白了 - 但我就是想不通。
我觉得解决方案是我力所能及的一步。我认为这是一个非常重要的概念,因为它会极大地帮助我可视化数据,其中需要在图表中显示自定义行的情况并不少见。我也希望这里的讨论可以帮助我更好地理解映射,因为它在许多情况下似乎非常有用,但我似乎无法找到合适的在线资源来清楚地解释它。
提前致谢。
您的问题的解决方案是将输出数据帧按所需顺序排列:
order = [1,2,0] # the desired order
Exchange['Symbol'].iloc[order]
NYSE 2517
Nasdaq 2747
AMEX 267
Name: Symbol, dtype: int64
只要你有正确排序的数据,你就可以绘制它:
Exchange['Symbol'].iloc[order].plot(kind='bar');