通过在数据框上使用.value_counts()
,我得到了一系列如下:
样本数据:
In_A_Not_In_B 116
In_C_Not_In_B 104
In_A_Not_In_C 100
In_C_Not_In_A 85
我需要根据上述数据创建一个矩阵,如下所示。必须从列值中获取索引名称。
预期输出:
NOT IN
A B C
A NA 116 100
IN C 85 104 NA
到目前为止,我还没有尝试过.pivot_table()
,.MultiIndex()
。
答案 0 :(得分:4)
假设您的value_counts
的结果存储在变量df
中,然后:
df = df.reset_index()
df['In'] = df['index'].str[3]
df['Not In'] = df['index'].str[-1]
df.pivot(index='In', columns='Not In', values=0)
# Not In A B C
# In
# A NaN 116.0 100.0
# C 85.0 104.0 NaN