我有一个包含数值型、单选题和多选题的问卷数据集。总共有22列。数据集看起来像这样:
Age ChooseTransport WillgobyTrain ....52 1011001 221 1000100 125 1110000 146 0001000 -132 1000001 2
“Age”是数值变量。“ChooseTransport”是多选题,有7个选项,其中1表示用户选择了该选项,0表示未选择。“WillgobyTrain”是单选题,包含选项编号。
我想找到正确的方法来测量这些不同类型变量之间的相关性。
回答:
首先,你应该将ChooseTransport
拆分为7列,然后尝试使用data.corr()
(如果你的数据是pandas.DataFrame
)。
要拆分ChooseTransport
,可以尝试如下代码:
for row_index, answer in enumerate(data['ChooseTransport']): for i in range(7): name = 'ChooseTransport_' + str(i) data.loc[row_index, name] = int(answer[i])
然后删除旧列ChooseTransport
:
data.drop(columns=['ChooseTransport'], inplace=True)
最后使用data.corr()
:
data.corr()
为了可视化,可以使用seaborn
:
import seaborn as snssns.heatmap(data.corr())