[英]pandas - Subtract 2 similar pivot table of data frame
我有一个 36 行 x 36 列的数据透视表数据框,我使用以下代码进行转换:
df_pivoted = pd.pivot_table(df,index='From',columns='To',values='count')
df_pivoted.fillna(0,inplace=True)
我使用以下代码转置相同的数据帧:
df_trans = df_pivoted.transpose()
并想用以下代码减去这两个数据帧:
new_pivoted = df_pivoted - df_trans
它给了我 72 行 x 72 列的数据框,所有单元格中都有 NaN 值。
然后我尝试使用其他代码:
delta = df_pivoted.subtract(df_trans, fill_value=0)
请帮我找出原始数据帧与转置数据帧之间的区别。
转换您的 DataFrame(数据透视表)后,您将拥有新的 DataFrame,其中的列变为索引,反之亦然。 现在,当您从另一个 Pandas 中减去 df 时,使用列和索引并在其余部分填充 NaN。
如果无论索引和列如何都需要减去值,请使用:
delta = df_pivoted.values - df_trans.values
如果您想在 df_pivoted 中保留 df_trans 的列和索引:
df_trans = pd.DataFrame(data=df_pivoted.transpose().values,
index=df_pivoted.index,
columns = df_pivoted.columns)
delta = df_pivoted - df_trans
现在简单的减法工作。
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.