根据标识符将熊猫数据框从列重新排列为行

时间:2020-08-03 09:24:11

标签: python pandas

我有一个带有日期,ID号和某些类型的数据框:

df = pd.DataFrame({'Date': ['2020-01-01', '2020-01-01', '2020-01-01', '2020-01-01', '2020-01-01','2020-01-01', '2020-01-01', '2020-01-01', '2020-01-01', '2020-01-01', '2020-01-02', '2020-02-02', '2020-01-02', '2020-01-02', '2020-01-02', '2020-01-02', '2020-01-02', '2020-01-02', '2020-02-02', '2020-01-02'],
                   'ID': [1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4],
                   'type': ['a', 'b','c','d','e', 'a', 'f', 'g', 'b', 'b', 'z','z','t','t','w','w', 'w','x','x','x']})

          Date  ID type
0   2020-01-01   1    a
1   2020-01-01   1    b
2   2020-01-01   1    c
3   2020-01-01   1    d
4   2020-01-01   1    e
5   2020-01-01   2    a
6   2020-01-01   2    f
7   2020-01-01   2    g
8   2020-01-01   3    b
9   2020-01-01   3    b
10  2020-01-02   1    z
11  2020-02-02   1    z
12  2020-01-02   1    t
13  2020-01-02   1    t
14  2020-01-02   4    w
15  2020-01-02   4    w
16  2020-01-02   4    w
17  2020-01-02   4    x
18  2020-02-02   4    x
19  2020-01-02   4    x

我想对它进行不同的排序:

理想的输出:

       Date  ID          newtype
 2020-01-01   1  [a, b, c, d, e]
 2020-01-01   2        [a, f, g]
 2020-01-01   3           [b, b]
 2020-01-02   1        [z, t, t]
 2020-01-02   4  [w, w, w, x, x]
 2020-02-02   1              [z]
 2020-02-02   4              [x]

从长远来看,我想使用列newtype进行网络分析以查看哪些类型一起出现。该列不必是列表,也可以是新数据框的系列或列。

我已经尝试过旋转或融合Dataframe,但没有成功。希望获得帮助。

谢谢

0 个答案:

没有答案