14.Pandas的concat合并

本文围绕Pandas数据合并展开,介绍了使用场景,如批量合并相同格式Excel、给DataFrame添加行列等。阐述了concat和append语法,concat可按行或列合并,append相当于concat按行的简写形式。最后还给出了案例演示。

使用场景

批量合并相同格式的Exce,给DataFrame添加行,给DataFrame添加列
使用说明:
1.使用某种合并方式(inner/outer)
2.沿着某个轴向(axis=0/1)
3.把多个Pandas对象(DataFrame/Series)合并成一个

concat语法

pandas.concat(objs,axis=0,join=‘outer’,ignore_index = False)

  • objs:一个列表,内容可以是DaataFrame或者Series,可以混合
  • axis:默认是0,代表按行合并,如果等于则按列合并
  • join: 合并的时候索引的对其方式,默认是outer join,也可以是inner join
  • ignore_index: 是否忽略掉原来的数据索引

append语法

DataFrame.append(other,ignore_index=False)
append只有按行合并,没有按列合并,相当于concat按行的简写形式

  • other: 单个dataframe,series,dict,或者列表
  • ignore_index:是否忽略掉原来的数据库索引

案例演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

### 在使用 `pandas.concat` 后将空值替换为 0 的方法 在 Pandas 中,使用 `pd.concat` 将多个数据对象合并后,可能会出现空值(NaN)。为了处理这些空值,可以使用 `fillna` 方法将其替换为指定的值,例如 0。以下是实现此操作的具体方法[^1]。 #### 替换空值为 0 的完整代码示例 ```python import pandas as pd # 创建两个示例 DataFrame df1 = pd.DataFrame({'A': [1, 2], 'B': [3, None]}) df2 = pd.DataFrame({'A': [4, None], 'B': [5, 6]}) # 使用 pd.concat 按行合并两个 DataFrame result = pd.concat([df1, df2], axis=0) # 将空值替换为 0 result_filled = result.fillna(0) print(result_filled) ``` 上述代码中,`pd.concat` 用于按行合并两个 DataFrame,而 `fillna(0)` 则将所有 NaN 值替换为 0[^2]。 #### 替换空值的其他方式 除了直接在合并后的数据上使用 `fillna`,还可以在合并前对每个 DataFrame 分别进行预处理。以下是一个示例: ```python # 在合并前对每个 DataFrame 进行填充 df1_filled = df1.fillna(0) df2_filled = df2.fillna(0) # 使用 pd.concat 合并已填充的 DataFrame result_filled = pd.concat([df1_filled, df2_filled], axis=0) print(result_filled) ``` 这种方法可以确保在合并之前就消除了潜在的空值问题[^3]。 #### 注意事项 - 如果需要将特定列的空值替换为不同的值,可以传递一个字典给 `fillna` 方法。例如:`df.fillna({'A': 0, 'B': -1})`[^4]。 - 在某些情况下,可能需要结合 `dropna` 方法删除包含空值的行或列,而不是简单地替换它们[^5]。 #### 性能优化 对于大规模数据集,建议在合并前对每个 DataFrame 进行填充以减少后续计算开销。此外,如果数据集中存在大量空值,考虑使用更高效的数据类型(如 `float32` 或 `int8`)来节省内存[^6]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值