【问题标题】:pivot in pandas: how to edit the columns and rowspandas 中的枢轴:如何编辑列和行
【发布时间】:2022-01-16 15:43:41
【问题描述】:

我在 pandas 中遇到了枢轴问题, total_profit 和 numberofgoodsold 列位于公司行上方。 我需要公司行位于顶部。

在每个公司中,total_profit 和goodsold 列都应该在下面。

这是我的代码:

data = {'company': ['AMC', 'ER','CRR' , 'TYU'], 'Reg-ID': ['1222','2334','3444', '4566'], 'Total_provit': ['123300','12233', '3444444', '412222'], 'numberofgoodsold':['44','23','67','34']}

d = pd.DataFrame(data)


d.pivot(index = 'Reg-ID', columns = 'company')

【问题讨论】:

  • 我删除了链接。谢谢
  • 你能解释一下为什么你的截图中的结果不是你想要的吗?它看起来像预期的结果......
  • 不,我需要的是公司排序在顶部,然后所有列都在公司之下。在每家公司下,我想查看 total_profit 和 numberofgoodsold。
  • 感谢 Pythona,请阅读:stackoverflow.com/questions/20109391/…。这使得帮助更容易。如果您发布可重现的数据集,您获得答案的机会就会大得多。
  • 感谢 Pythona 的更新。试图在下面回答您的问题。但除此之外,我建议阅读How to I ask a good question?。从这里开始,它真的帮助了我。以前有时会很沮丧,但这只是因为我不知道一些基本规则:-) PS:我现在赞成你的问题,因为我认为反对票不再合适。

标签: python pandas dataframe data-analysis


【解决方案1】:

更新,好的,那么我认为这就是您需要的:

data = {'company': ['AMC', 'ER','CRR' , 'TYU'], 'Reg-ID': ['1222','2334','3444', '4566'], 'Total_provit': ['123300','12233', '3444444', '412222'], 'numberofgoodsold':['44','23','67','34']}

d = pd.DataFrame(data)

d2 = d.pivot(index = 'Reg-ID', columns = 'company')

d2.columns = d2.columns.swaplevel(0, 1)
d2.sort_index(axis=1, level=0, inplace=True)

d2

输出:

【讨论】:

  • 谢谢。这是我想要的,但我希望 Order 是这样的:company1 然后是 column1 和 colmun2,然后是 company2 然后是 column1 和 column2。
  • 查看更新,我想这就是你想要的?请检查并提供反馈。
  • 这正是我所需要的。谢谢...!!
猜你喜欢
  • 2021-11-26
  • 2023-03-20
  • 1970-01-01
  • 2017-08-13
  • 2016-05-22
  • 2016-09-06
  • 1970-01-01
  • 2018-08-05
  • 2016-11-07
相关资源
最近更新 更多