我不是熊猫专家,所以我很难确切地知道如何完成我认为非常简单的数据帧操作。我有一个数据帧如下:
Id appName _RT _count
0 ef9fdeed-a9ad-4680-b8e9-9e5e10ae2593 App1 0.003000 1
1 ef9fdeed-a9ad-4680-b8e9-9e5e10ae2593 App2 0.026000 1
2 ef9fdeed-a9ad-4680-b8e9-9e5e10ae2593 App3 0.029000 1
3 ef9fdeed-a9ad-4680-b8e9-9e5e10ae2593 App2 0.052000 2
4 ef9fdeed-a9ad-4680-b8e9-9e5e10ae2593 App2 0.070000 1
5 ef9fdeed-a9ad-4680-b8e9-9e5e10ae2593 App1 0.124000 2
6 f03eaf42-9080-43c8-a892-f910fa442ee6 App3 0.060000 1
我要完成的是为appName为\u RT和\u count创建新列,如下所示:
^{pr2}$我的第一个想法是使用transpose()
,但我觉得必须有其他方法来实现这一点。老实说,我只是有点迷路了。任何帮助都将不胜感激。非常感谢。在
收益率
^{pr2}$为了可读性,
Id
被截断。在请注意,
appName
列中的值是所需数据帧中的列名。 将值从列移到列索引可以分两步执行:使用^{}
使用^{} 将索引级别的值移动到列索引中。
完成后,只需重命名列,将MultiIndex压缩到单个索引级别。这是通过重新分配给}或{}选择列,那么MultiIndex将在以后的阶段提供richer structure which may be useful。在
df.columns
完成的。请注意,您可能更愿意跳过这一步,因为如果您需要根据appName
或{Id
列也被放在索引中,以“保护”它不被unstack
操作拆分。要明白我的意思,最简单的方法就是看看df.set_index(['appName'], append=True).unstack()
在Python解释器中:与
相关问题 更多 >
编程相关推荐