【问题标题】:Python Pandas Pivot w/o IndexPython Pandas Pivot 无索引
【发布时间】:2021-10-18 19:16:36
【问题描述】:

我正在尝试在不使用现有索引的情况下进行 Pandas Pivot。

我想接受这样的输入...

  Group  Outstanding Balance
0    AA              4738.32
1    AB              4902.86
2    AC              4850.74
3    AD              7054.80
4    AE              4833.70
5    AF              4199.06
6    AG              4855.80
7    AH              6520.41

把它变成这个

0       AA       AB       AC      AD      AE       AF      AG       AH
1     4738.32  4902.86  4850.74  7054.8  4833.7  4199.06  4855.8  6520.41

然后我将遍历这些值并在下面添加新行。

非常感谢!

【问题讨论】:

  • df.set_index("Group").T?

标签: python pandas dataframe data-science


【解决方案1】:

使用set_index 将列Group 移动到索引并简单地转置您的数据框以反转列和行:

>>> df.set_index('Group').T

Group                     AA       AB       AC      AD      AE       AF      AG       AH
Outstanding Balance  4738.32  4902.86  4850.74  7054.8  4833.7  4199.06  4855.8  6520.41

要准确获得您的输出:

>>> df.set_index('Group').T.reset_index(drop=True).rename_axis(columns=None)

        AA       AB       AC      AD      AE       AF      AG       AH
0  4738.32  4902.86  4850.74  7054.8  4833.7  4199.06  4855.8  6520.41

【讨论】:

  • 虽然我不会/没有 DV 这个答案,但其他人经常 DV 回答呈现不佳的问题。此外,诸如此类的问题通常会被 DVed、关闭和删除。因此,您是在浪费时间。 SO 不是在这里回答每个问题,而是在这里创建一个问题和答案的存储库,可以被其他人用作资源。如果一个问题的质量可以通过编辑来提高,那么就这样做,否则建议 DV 并投票结束。
  • 这看起来可行。我认为 DataFrames 是可变的,但看起来我必须将它放在一个新的 DataFrame 中。 graph_df = df_2.set_index('组').T.reset_index(drop=True)
  • @kurt 主要原因是问题的质量。虽然您可能已经尝试解决它,但问题本身并没有表现出任何努力。您应该try to solve the problem first 并展示您的努力。始终提供带有代码、数据、错误、当前和预期输出minimal reproducible example
  • 我不太同意这一点。没关系,问题很短,答案写得很快。他不要求解决复杂的问题。
  • 对于那些真正好奇的人来说,这个 DataFrame 代表了一个更大的 DataFrame 的一个子集,其中包含有关各种学生贷款的信息。组列代表贷款名称以及当前未结余额。 Corralien 提供的代码适用于我的用例:启动一个新的DataFrame,其中索引代表还清贷款所需的月数,列代表每个贷款组。
猜你喜欢
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 2018-05-31
  • 2020-12-18
相关资源
最近更新 更多