【问题标题】:How to Arrange a column of a Dataframe in Python如何在 Python 中排列数据框的一列
【发布时间】:2018-11-13 09:44:06
【问题描述】:

我有一个带有值的数据框

Product     Range    Sold
  A          1-3      5
  A          4-7      23
  A          8-15     2
  B          4-7      4
  B          8-15     1

我需要输出为

                      Sold
Product     Range    
  A          1-3      5
             4-7      23
             8-15     2
  B          4-7      4
             8-15     1

这可以通过任何内置函数或任何数据透视表函数来完成吗?

【问题讨论】:

  • 一级是sorted 吗?
  • 第一级可能是[A, A, A, B, B, A, A] 吗?

标签: python python-3.x pandas pivot-table


【解决方案1】:

如果需要MultiIndex,请使用set_index

df = df.set_index(['Product','Range'])

如果不是并且第一级已排序,请使用maskduplicated

df['Product'] = df['Product'].mask(df['Product'].duplicated(), '')
print (df)
  Product Range  Sold
0       A   1-3     5
1           4-7    23
2          8-15     2
3       B   4-7     4
4          8-15     1

【讨论】:

  • 第二个选项,如果输入是 [A, A, A, B, B, A, A],输出应该是 [A, . .乙。 A .] 或 [A . .乙。 . .]?
  • @coldspeed - 这是可能的,但之前的所有答案似乎 df.set_index(['Product','Range']) 是 OP 需要的。
  • 哦,太好了,用户已经接受了这个答案,这意味着它是一个骗子。我不知道该怎么想。我正在删除我的答案,因为这是一个垃圾问题。
  • sry mate 有点忙,第一级已排序
猜你喜欢
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 2013-05-19
  • 2019-06-18
  • 2023-02-23
  • 2021-09-24
相关资源
最近更新 更多