当前位置: 首页 > 知识库问答 >
问题:

如何将数据帧行转换为列[重复]

汤乐家
2023-03-14

我有这样的数据框

df.to_dict('list')

输出:

{'ChannelPartnerID': [10000,
  10000,
  10000,
  10000,
  10000,
  10001,
  10001,
  10001,
  10002,
  10002],
 'Brand': ['B1', 'B2', 'B3', 'B4', 'B5', 'B1', 'B2', 'B5', 'B1', 'B4'],
 'Sales': [29630, 38573, 1530, 21793, 7155, 26477, 42158, 14612, 6649, 6468]}

.

df

输出:

ChannelPartnerID    Brand   Sales
0   10000           B1      29630
1   10000           B2      38573
2   10000           B3      1530
3   10000           B4      21793
4   10000           B5      7155
5   10001           B1      26477
6   10001           B2      42158
7   10001           B5      14612
8   10002           B1      6649
9   10002           B4      6468

我想分组的数据'ChannelPartnerID',因为我想合并数据的唯一值的唯一值在'ChannelPartnerID'和转换'品牌'列值为列包含销售价格为每一列

我希望它像这样输出:

ChannelPartnerID B1_Sales B2_Sales B3_Sales B4_Sales B5_Sales B6_Sales B7_Sales
0   10000        29630    38573    1530     21793    7155     0         0 
1   10001        26477    42158    0        0        14612    0         0 
2   10002        6649     0        0        6468     0        0         0 

共有1个答案

侯向文
2023-03-14

你想要的是一个叫做pivot的:

df.pivot(*df).fillna(0).add_suffix('_Sales')

输出:

Brand             B1_Sales  B2_Sales  B3_Sales  B4_Sales  B5_Sales
ChannelPartnerID                                                  
10000                29630     38573      1530     21793      7155
10001                26477     42158         0         0     14612
10002                 6649         0         0      6468         0

注意df.pivot(*df)df.pivot的快捷方式(index='ChannelPartnerID',columns='Brand',values='Sales')

 类似资料:
  • 我有一个带有多个列的Python数据帧。 我想找到与LogBlk=0和Page=0关联的。 这将返回[0,1,8,9] 我要做的是将pandas.series转换为一个列表。有人知道怎么做吗?

  • 有没有办法将数据帧转换为向量?例如 预期产出

  • 我有这个数据框 我想转换这种形式的Numpy数组: 我正在使用转换为_矩阵函数,并在它重塑(1,4)后使用,但它不起作用!!它给我的格式是:有什么建议吗?我需要把它转换成那种格式,这样我就可以应用“精确回忆曲线”功能。

  • 如何将pandas数据帧(21 x 31)转换为numpy数组? 例如: 数组_1(n_1,n_2,n_3,…,n31) 数组_2(n_1,n_2,n_3,…,n31) 数组21(n_1,n_2,n_3,…,n31) 我尝试了以下代码段: .. 并得到如下结果: 问题是第二个方括号太多了。我该如何解决这个问题?

  • 我有一张如下的桌子: 如何将其转换为:

  • 我对熊猫有些陌生。我有一个熊猫数据框,是一行23列。 我想把它转换成一个系列?我想知道做这件事最像蟒蛇的方式是什么? 我试过pd。系列(我的结果),但它抱怨。它还没有聪明到意识到它仍然是数学术语中的“向量”。 谢谢!