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

将熊猫数据帧从宽到长

柴翰藻
2023-03-14

我试图将pandas数据帧从宽到长,但我找不到一个好方法。有没有建议通过熊猫来实现这一点?

data = {'colour':["red", "blue", "yellow", "red", "yellow"],
        'apple':[1, 2, 4, 5, 6], 
        'organge': [3, 4, 5, 7, 8],
        'watermelon': [7, 8, 9, 1, 0]}
df = pd.DataFrame(data)
df

   colour  apple  organge  watermelon
0     red      1        3           7
1    blue      2        4           8
2  yellow      4        5           9
3     red      5        7           1
4  yellow      6        8           0

预期结果:

        fruit  red  blue  yellow
0       apple    6     2      10
1     organge   10     4      13
2  watermelon    8     8       9

共有1个答案

吴浩皛
2023-03-14

因此,您可以使用< code>T执行< code>groupby

out = df.groupby('colour').sum().T
Out[45]: 
colour      blue  red  yellow
apple          2    6      10
organge        4   10      13
watermelon     8    8       9

out = df.set_index('colour').T.sum(level=0,axis=1)
Out[48]: 
colour      red  blue  yellow
apple         6     2      10
organge      10     4      13
watermelon    8     8       9
 类似资料:
  • 假设熊猫数据帧如下所示: 如何将第三行(如row3)提取为pd数据帧?换句话说,row3.shape应该是(1,5),row3.head()应该是:

  • 我有这个熊猫数据框 这就给了我: 我该怎么办 做一个新的人物, 将标题添加到图"标题这里" 以某种方式创建一个映射,这样标签不是29,30等,而是“29周”,“30周”等。 将图表的较大版本保存到我的计算机(例如10 x 10英寸) 这件事我已经琢磨了一个小时了!

  • 我正在尝试制作一个数据帧,以便可以轻松地将其发送到CSV,否则我必须手动执行此过程。。 我希望这是我的最终输出。每个人都有一个月和年的组合,从2014年1月1日开始,一直到2016年1月12日: 到目前为止的代码: 当我尝试循环创建数据帧时,它要么不工作,要么出现索引错误(因为不匹配列表),我不知所措。 我已经做了一点很好的搜索,并找到了以下一些类似的链接,但我不能反向工程的工作,以适应我的情况。

  • 拿着字典: 我如何把这个字典变成一个数据框,其中的值是列?即。我想要一个数据框显示: 这种形式似乎根本得不到! 谢谢 这是一个不同的问题,另一个问题只是问如何将字典的值放入数据帧,我问的是如何获得我概述的特定形式

  • 我有一本字典的形式: 例如, 我想转换成熊猫数据帧与列1的用户名和其他列的电影评级,即: 但是,一些用户没有对电影进行评分,因此这些电影不包括在该用户键()的值()中。在这种情况下,只需用NaN填充条目就好了。 现在,我迭代键,填充列表,然后使用此列表创建数据帧: 但这只给了我一个用户的数据框,这些用户对片场中的所有电影都进行了评分。 我的目标是通过迭代电影标签(而不是上面显示的暴力方法)来追加到

  • 我想读取ArcGIS形状文件的文件,并将其转储到数据帧中。我目前正在使用dbf包。 显然,我已经能够将文件作为一个表加载,但还不能理解如何解析它并将其转换为一个数据帧。怎么做? 这就是我所处的困境: Python将此语句作为输出返回,坦率地说,我不知道该如何处理: 编辑 我的原始示例: