如何在python pandas中附加两个数据框[重复]
Posted
技术标签:
【中文标题】如何在python pandas中附加两个数据框[重复]【英文标题】:How to append two dataframes in python pandas [duplicate] 【发布时间】:2021-11-08 14:32:23 【问题描述】:我正在处理一个成人数据集,我在其中拆分数据框以标记编码分类列。现在我想用原始数据框附加新的数据框。执行相同操作的最简单方法是什么?
原始数据框-
age | salary |
---|---|
32 | 3000 |
25 | 2300 |
标签编码几列后
country | gender |
---|---|
1 | 1 |
4 | 2 |
我想追加上面的dataframe,最终结果应该如下。
age | salary | country | gender |
---|---|---|---|
32 | 3000 | 1 | 1 |
25 | 2300 | 4 | 2 |
任何见解都会有所帮助。
【问题讨论】:
【参考方案1】:让我们考虑两个名为 df1
和 df2
的数据框,
df1.merge(df2,left_index=True, right_index=True)
【讨论】:
【参考方案2】:如果 datrframes 行通过索引匹配,您可以使用.join()
,如下所示:
.join()
默认为左连接,按索引连接。
df1.join(df2)
除了简单的语法之外,它还有一个额外的优势,即当您将主/原始数据框放在左侧时,左连接可确保在结果中保留主数据框的索引。
结果:
age salary country gender
0 32 3000 1 1
1 25 2300 4 2
【讨论】:
【参考方案3】:您可能会在检查pandas.concat
中找到您的解决方案。
import numpy as np
import pandas as pd
df1 = pd.DataFrame(np.array([[32,3000],[25,2300]]), columns=['age', 'salary'])
df2 = pd.DataFrame(np.array([[1,1],[4,2]]), columns=['country', 'gender'])
pd.concat([df1, df2], axis=1)
age salary country gender
0 32 25 1 1
1 3000 2300 4 2
【讨论】:
以上是关于如何在python pandas中附加两个数据框[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中使用 Pandas 合并时间序列数据帧及其集体附加注释
无法在 python pandas 数据框中附加嵌套的 JSON 值
使用 pandas 连接两个数据框中的不同列(并附加相似的列)
python - 如何将 numpy 数组附加到 pandas 数据帧