来自pandas数据帧的信息矩阵

Muh*_*san 2 python dataframe pandas

我有一个像下面这样的pandas数据帧:

    Customer Id  year
0       1510220024  2017
1       1510270013  2017
2       1511160047  2017
3       1512100014  2017
4       1603180006  2017
5       1605030030  2017
6       1605160013  2017
7       1606060008  2017
8       1510220024  2018
9       1606270014  2017
10      1608080011  2017
11      1608090002  2017
12      1511160047  2018
13      1606270014  2018
Run Code Online (Sandbox Code Playgroud)

我想从上面的数据框构建以下矩阵:

     2017 2018
2017  11   3
2018   3   3
Run Code Online (Sandbox Code Playgroud)

该矩阵表明2017年共有11个客户,其中3个也出现在2018年,依此类推.实际上,我有7年的数据,所以它将是7x7矩阵.我现在正在努力一段时间,但无法做到这一点.

use*_*203 5

merge+ crosstab:

m = df.merge(df, left_on='Customer Id', right_on='Customer Id')
pd.crosstab(m.year_x, m.year_y)
Run Code Online (Sandbox Code Playgroud)

year_y  2017  2018
year_x
2017      11     3
2018       3     3
Run Code Online (Sandbox Code Playgroud)