【发布时间】:2018-04-02 19:22:46
【问题描述】:
我正在寻求帮助,使用类似 np.nansum 的函数从现有数据帧创建子数据帧。我想将此表转换为非空列和的矩阵:
dan ste bob
t1 na 2 na
t2 2 na 1
t3 2 1 na
t4 1 na 2
t5 na 1 2
t6 2 1 na
t7 1 na 2
例如,当 'dan' 不为空 (t-2,3,4,6,7) 时,'ste' 的和为 2,'bob' 为 5。当 'ste' 不为空时'dan'的总和是4。
dan ste bob
dan 0 2 5
ste 4 0 2
bob 4 1 0
有什么想法吗?
提前致谢!
我最终在下面使用了 matt 函数的修改版本:
def nansum_matrix_create(df):
rows = []
for col in list(df.columns.values):
col_sums = df[df[col] != 0].sum()
rows.append(col_sums)
return pd.DataFrame(rows, columns=df.columns, index=df.columns)
【问题讨论】:
-
这既不是交叉表,也不是点积,我也不确定它是否是 nansum。