我有以下日期范围
df=pd.DataFrame.from_dict({'month':['January','February','March','April','May','June','July','August','September','October','November','December'], 'Tonnes':[1,2,3,4,5,6,7,8,9,10,11,12]})
只需要非对角线元素的对角线相关矩阵。
尝试过往的帖子为指导,但所有人都关注nxn
数组
预期输出:
columns = ['January','February','March','April','May','June','July','August','September','October','November','December']
index= ['January','February','March','April','May','June','July','August','September','October','November','December']
data=np.array([[ 'nan', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'X'],
[ 'X', 'nan', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'X', 'X'],
[ 'X', 'X', 'nan', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'X'],
[ 'X', 'X', 'X', 'nan', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'X'],
[ 'X', 'X', 'X', 'X', 'nan', 'X', 'X', 'X', 'X', 'X', 'X',
'X'],
[ 'X', 'X', 'X', 'X', 'X', 'nan', 'X', 'X', 'X', 'X', 'X',
'X'],
[ 'X', 'X', 'X', 'X', 'X', 'X', 'nan', 'X', 'X', 'X', 'X',
'X'],
[ 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'nan', 'X', 'X', 'X',
'X'],
[ 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'nan', 'X',
'X', 'X'],
[ 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'nan', 'X',
'X'],
[ 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'nan', 'X'],
[ 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'X', 'nan']])
matrix=pd.DataFrame(data,index=index,columns=columns)
答案 0 :(得分:2)
您可以选择带有布尔蒙版的非对角元素并重新塑形:
data[~np.eye(len(data), dtype=bool)].reshape(len(data)-1, -1)