Pandas:不确定这是一个枢轴还是堆栈,或者是否有内置函数
Pandas: not sure if this is a pivot or stack or whether there is a built in function for this
我有一个包含两列的数据框,并尝试旋转它们:
arr = pd.DataFrame([[0,0],[0,1],[0,2],[1,4],[1,5],[1,6]])
arr.pivot(columns=0)
这没有给我我想要的输出,它是第 1 列中每个唯一值的第 2 列中的值列表,如下所示:
output = pd.DataFrame([[0,1,2,3],[1,4,5,6]])
我确定 pandas 具有此功能,并尝试查找它但未能找到它。
尝试通过 groupby()
+cumcount()
然后 pivot()
+rename_axis()
:
arr[2]=arr.groupby(0).cumcount()
#Finally:
out=arr.pivot(0,2,1).rename_axis(columns=None,index=None)
现在,如果您打印 out
,您将获得预期的输出
我有一个包含两列的数据框,并尝试旋转它们:
arr = pd.DataFrame([[0,0],[0,1],[0,2],[1,4],[1,5],[1,6]])
arr.pivot(columns=0)
这没有给我我想要的输出,它是第 1 列中每个唯一值的第 2 列中的值列表,如下所示:
output = pd.DataFrame([[0,1,2,3],[1,4,5,6]])
我确定 pandas 具有此功能,并尝试查找它但未能找到它。
尝试通过 groupby()
+cumcount()
然后 pivot()
+rename_axis()
:
arr[2]=arr.groupby(0).cumcount()
#Finally:
out=arr.pivot(0,2,1).rename_axis(columns=None,index=None)
现在,如果您打印 out
,您将获得预期的输出