【问题标题】:pivot all the columns of a dataframe旋转数据框的所有列
【发布时间】:2018-08-08 09:23:07
【问题描述】:

我有这个数据框:

df= pd.DataFrame({'Jan' : ['US', 'GB', 'NL', 'CH', 'GB', 'US'],
                  'Feb': ['US', 'AU', 'RU', 'NO', 'AU', 0],
                  'Mar' : ['PL', 'AU', 'FI', 'US', 'CH', 'CH']})

我想创建堆积条形图来显示每月的国家数量。所以我需要先把这个数据框转换成这种形式:

      Jan  Feb  Mar
  US   2    1    1
  GB   2    0    0
  NL   1    0    0
  CH   1    0    2
  AU   0    2    1
  RU   0    1    0 
  NO   0    1    0
  PL   0    0    1
  FI   0    0    1
  0    0    1    0

我的数据框很大,但我想在堆积条形图上显示每个月最常见的 10 个国家/地区。我注意到 pandas pivot 没有做这项工作。

【问题讨论】:

  • 感谢您的评论。我做了修改

标签: python-3.x pandas pivot bar-chart


【解决方案1】:

你可以

In [46]: s = df.stack().reset_index()

In [47]: pd.crosstab(s[0], s['level_1']).rename_axis(None, 1).rename_axis(None, 0)
Out[47]:
    Feb  Jan  Mar
0     1    0    0
AU    2    0    1
CH    0    1    2
FI    0    0    1
GB    0    2    0
NL    0    1    0
NO    1    0    0
PL    0    0    1
RU    1    0    0
US    1    2    1

【讨论】:

  • 这完全回答了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 2020-11-17
相关资源
最近更新 更多