python - 来自非方阵的非对角线元素
问题描述
我有以下日期范围
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)
解决方案
您可以选择具有布尔掩码和整形的非对角元素:
data[~np.eye(len(data), dtype=bool)].reshape(len(data)-1, -1)
推荐阅读
- ios - 应用存档时出错:发现意外的 Mach-O 标头代码:0x72613c21
- angular - 尝试搜索列表时出现“TypeError:无法读取未定义的属性‘过滤器’”
- javascript - React Native - OpenWeatherMap:同名声明
- javascript - 共享非全屏应用程序窗口时,Chrome getDisplayMedia 流被裁剪
- python - ast.literal_eval() 在具有空键值的字典上
- visual-studio-2019 - 查找 (Ctrl+D) 的 Visual 2019 旧快捷方式现在重复一行
- regex - 为什么 Google Cloud Builder 不使用 gsutil rsync -x 排除文件?
- wordpress - WordPress、WooCommerce:如何从独立类中获取选项
- java - 无法部署“中心图像 ID:一些/中心:最新”:java.lang.NullPointerException
- macos - 从 Mac 节点上的 Jenkinsfile 运行自制软件时出现权限错误