相关疑难解决方法(0)

正确的方法来反转pandas.DataFrame?

这是我的代码:

import pandas as pd

data = pd.DataFrame({'Odd':[1,3,5,6,7,9], 'Even':[0,2,4,6,8,10]})

for i in reversed(data):
    print(data['Odd'], data['Even'])
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我收到以下错误:

Traceback (most recent call last):
  File "C:\Python33\lib\site-packages\pandas\core\generic.py", line 665, in _get_item_cache
    return cache[item]
KeyError: 5

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\*****\Documents\******\********\****.py", line 5, in <module>
    for i in reversed(data):
  File "C:\Python33\lib\site-packages\pandas\core\frame.py", line 2003, in __getitem__
    return self._get_item_cache(key)
  File "C:\Python33\lib\site-packages\pandas\core\generic.py", line 667, in _get_item_cache
    values = self._data.get(item)
  File "C:\Python33\lib\site-packages\pandas\core\internals.py", line 1656, in get
    _, block …
Run Code Online (Sandbox Code Playgroud)

python reverse pandas

91
推荐指数
5
解决办法
12万
查看次数

Pandas 堆积条形图中元素的排序

我正在尝试绘制有关一个地区 5 个地区的特定行业的家庭收入部分的信息。

我使用 groupby 按地区对数据框中的信息进行排序:

df = df_orig.groupby('District')['Portion of income'].value_counts(dropna=False)
df = df.groupby('District').transform(lambda x: 100*x/sum(x))
df = df.drop(labels=math.nan, level=1)
ax = df.unstack().plot.bar(stacked=True, rot=0)
ax.set_ylim(ymax=100)

display(df.head())

    District  Portion of income
    A         <25%                 12.121212
              25 - 50%              9.090909
              50 - 75%              7.070707
              75 - 100%             2.020202
Run Code Online (Sandbox Code Playgroud)

由于此收入属于类别,因此我想以合乎逻辑的方式对堆叠条中的元素进行排序。Pandas 生成的图表如下。现在,顺序(从每个条形的底部开始)是:

  • 25 - 50%
  • 50 - 75%
  • 75 - 100%
  • <25%
  • 不确定

我意识到这些是按字母顺序排序的,并且很好奇是否有办法设置自定义排序。为了直观,我希望顺序是(同样,从栏的底部开始):

  • 不确定
  • <25%
  • 25 - 50%
  • 50 - 75%
  • 75 - 100%

然后,我想翻转图例以显示与此顺序相反的顺序(即,我希望图例顶部有 75 - 100,因为这将位于条形图的顶部)。

python plot matplotlib pandas

4
推荐指数
1
解决办法
6689
查看次数

标签 统计

pandas ×2

python ×2

matplotlib ×1

plot ×1

reverse ×1