作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
给定一个如下形式的方形 pandas DataFrame:
a b c
a 1 .5 .3
b .5 1 .4
c .3 .4 1
upper triangle 怎么可能?被熔化得到如下形式的矩阵
Row Column Value
a a 1
a b .5
a c .3
b b 1
b c .4
c c 1
#Note the combination a,b is only listed once. There is no b,a listing
我对惯用的 pandas 解决方案更感兴趣,自定义索引器很容易手动编写...
提前感谢您的考虑和回复。
最佳答案
首先,我通过 where
将 df
的较低值转换为 NaN
和 numpy.triu
然后 stack
, reset_index
并设置列名:
import numpy as np
print df
a b c
a 1.0 0.5 0.3
b 0.5 1.0 0.4
c 0.3 0.4 1.0
print np.triu(np.ones(df.shape)).astype(np.bool)
[[ True True True]
[False True True]
[False False True]]
df = df.where(np.triu(np.ones(df.shape)).astype(np.bool))
print df
a b c
a 1 0.5 0.3
b NaN 1.0 0.4
c NaN NaN 1.0
df = df.stack().reset_index()
df.columns = ['Row','Column','Value']
print df
Row Column Value
0 a a 1.0
1 a b 0.5
2 a c 0.3
3 b b 1.0
4 b c 0.4
5 c c 1.0
关于python - 融化 Pandas 数据框的上三角矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34417685/
我有一个绕其 3 轴旋转的立方体,当 key[a] == true 时,它会向左旋转,就好像它正在滚动一样。将立方体向任何方向旋转 45 度,将其向后旋转 90 度,以获得继续的错觉。这将保持 3
我是一名优秀的程序员,十分优秀!