【发布时间】:2020-01-22 17:47:30
【问题描述】:
抱歉,我在标题中解释问题时有点麻烦
我们偶然将 Pandas 数据框转为以下内容:
df = pd.DataFrame(np.array([[1,1,2], [1,2,1], [2,1,2], [2,2,2],[3,1,3]]),columns=['id', '3s', 'score'])
id 3s score
1 1 2
1 2 1
2 1 2
2 2 2
3 1 3
但是我们需要取消堆叠,所以 df 看起来像这样(原始版本):“3s”列“unpivots”到由 3 个具有 0 和 1 的有序列按顺序相加的离散集。因此,如果我们有'3s'= 2 和'score'= 2,则对应的id 列['4','5','6'](第二组3s)中的值将是[1,1,0](3 个中的2 个)
df2 = pd.DataFrame(np.array([[1,1,1,0,1,0,0], [2,1,1,0,1,1,0], [3,1,1,1,np.nan,np.nan,np.nan] ]),columns=['id', '1', '2','3','4','5','6'])
id 1 2 3 4 5 6
1 1 1 0 1 0 0
2 1 1 0 1 1 0
3 1 1 1
非常感谢任何帮助! (请救救我)
【问题讨论】:
标签: python pandas pivot unpivot