我有一个需要合并两行的数据帧。 例:
<table>
<thead>
<tr>
<th>Col1</th>
<th>Col2</th>
<th>Col3</th>
</tr>
</thead>
<tbody>
<tr>
<td>City1</td>
<td>Pop1</td>
<td>Area1</td>
</tr>
<tr>
<td>City2</td>
<td>Pop2</td>
<td>Area2</td>
</tr>
<tr>
<td>City1</td>
<td>Pop3</td>
<td>Area3</td>
</tr>
</tbody>
</table>
我想把城市1合并成一行,我想把人口和面积相加 预期结果需要如下:
<table>
<thead>
<tr>
<th>Col1</th>
<th>Col2</th>
<th>Col3</th>
</tr>
</thead>
<tbody>
<tr>
<td>City1</td>
<td>Pop(1+3)</td>
<td>Area(1+3)</td>
</tr>
<tr>
<td>City2</td>
<td>Pop2</td>
<td>Area2</td>
</tr>
</tbody>
</table>
我尝试了不同的方法
df.groupby(['Col1']).aggregate({'Col2': "sum", 'Col3': "sum"})
这会合并行,但不会对值求和,而是将它们一个接一个地写入,如下所示:City1、Pop1Pop3、Area1Area3
我错过了什么
将
Col2
和Col3
的数据类型转换为int或float。它们被连接,因为它们被视为str(或对象)相关问题 更多 >
编程相关推荐