有人能告诉我如何从数据中生成交互矩阵吗?
输入:
cd1 = [True, False, True, False, False]
cd2 = [False, True, True, False, False]
cd3 = [True, False, False, True, True]
df = pd.DataFrame({"cd1":cd1, "cd2": cd2, "cd3": cd3})我想要像这样的输出
cd1 cd2 cd3
cd1 2 1 1
cd2 1 2 0
cd3 1 0 3发布于 2018-02-20 05:16:44
将df转换为int类型并计算矩阵dot乘积:
df.astype(int).T.dot(df)
cd1 cd2 cd3
cd1 2 1 1
cd2 1 2 0
cd3 1 0 3发布于 2018-02-20 05:55:18
只有一个选项来自matmul从numpy
pd.DataFrame(np.matmul(df.T.astype(int),df.astype(int)),columns=df.columns,index=df.columns)
Out[283]:
cd1 cd2 cd3
cd1 2 1 1
cd2 1 2 0
cd3 1 0 3https://stackoverflow.com/questions/48878302
复制相似问题