我有两个相关矩阵,一个相关矩阵的下三角形为NaN
值,另一个相关矩阵的上三角形为“ NaN”值。
我想将它们堆叠在一起,所以最终得到具有相关系数的NxN矩阵。
我尝试使用pd.concat()
,但无法正常使用。我正在寻找一种更好的方法来执行此操作,因为我肯定有一个方法
a = [1, NaN, NaN,
0.4, 1, NaN,
0.7, 0.3, 1]
b = [1, 0.2, 0.9,
NaN, 1, 0.6,
NaN, NaN, 1]
我想要一个看起来像这样的东西:
c = [1, 0.2, 0.9,
0.4, 1, 0.6,
0.7, 0.3, 1]
谢谢!
答案 0 :(得分:2)
使用DataFrame.fillna
用另一个DataFrame
替换缺失的值:
df = df1.fillna(df2)
df = df1.combine_first(df2)
一起:
a = [1, np.nan, np.nan,
0.4, 1, np.nan,
0.7, 0.3, 1]
b = [1, 0.2, 0.9,
np.nan, 1, 0.6,
np.nan, np.nan, 1]
df1 = pd.DataFrame(np.asarray(a).reshape(3,3))
df2 = pd.DataFrame(np.asarray(b).reshape(3,3))
df = df1.fillna(df2)
print (df)
0 1 2
0 1.0 0.2 0.9
1 0.4 1.0 0.6
2 0.7 0.3 1.0