'inner' (内连接) 只会保留在两个DataFrame中都存在的键的组合,这意味着如果某产品某天只有销售或只有退货,该记录将被丢弃,不符合计算净销售额的要求。'left' (左连接) 会保留所有左侧DataFrame(df_sales)的记录。如果某天某个产品只有退货而没有销售,该记录将被丢弃。'right' (右连接) 则会保留所有右侧DataFrame(df_returns)的记录,丢弃只有销售的记录。'outer' (外连接) 会保留两个DataFrame中所有的键的组合。如果某条记录只存在于其中一个DataFrame,另一个DataFrame中对应的列会显示为NaN。这正是我们所需要的场景,因为它保留了所有的销售和退货记录。之后使用.fillna(0)可以将这些NaN值(代表没有发生的操作)替换为0,从而可以正确地计算净销售额。