【发布时间】:2021-03-24 10:12:29
【问题描述】:
我面临的问题是在 python 中创建一个除法但它相乘的矩阵。
我有两个数据框:df_in = pd.DataFrame([[77.279999], [80.099998]], index=[2019, 2020], columns=['Price'])
df_out = pd.DataFrame([[71.849998], [77.400002]], index=[2019, 2020], columns=['Price])
现在我将创建矩阵:df_matrix = pd.DataFrame(np.outer(df_in, df_out), df_in.index, df_out.index)
我得到的输出是:
<style type="text/css">
table.tableizer-table {
font-size: 12px;
border: 1px solid #CCC;
font-family: Arial, Helvetica, sans-serif;
}
.tableizer-table td {
padding: 4px;
margin: 3px;
border: 1px solid #CCC;
}
.tableizer-table th {
background-color: #104E8B;
color: #FFF;
font-weight: bold;
}
</style>
<table class="tableizer-table">
<thead><tr class="tableizer-firstrow"><th></th><th>2019</th><th>2020</th></tr></thead><tbody>
<tr><td>2019</td><td>5552.567794</td><td>5755.184768</td></tr>
<tr><td>2020</td><td>5981.472023</td><td>6199.740004</td></tr>
</tbody></table>
它是乘法而不是除法。我面临的下一个问题是,如果
df_in.index > df_out.index
那么值应该是0。
我希望看到的结果是:
<style type="text/css">
table.tableizer-table {
font-size: 12px;
border: 1px solid #CCC;
font-family: Arial, Helvetica, sans-serif;
}
.tableizer-table td {
padding: 4px;
margin: 3px;
border: 1px solid #CCC;
}
.tableizer-table th {
background-color: #104E8B;
color: #FFF;
font-weight: bold;
}
</style>
<table class="tableizer-table">
<thead><tr class="tableizer-firstrow"><th></th><th>2019</th><th>2020</th></tr></thead><tbody>
<tr><td>2019</td><td>1,075574</td><td>1,114822</td></tr>
<tr><td>2020</td><td>0</td><td>1,034883</td></tr>
</tbody></table>
所以感谢大家的建议。
【问题讨论】:
标签: python pandas numpy matrix