gpt4 book ai didi

python - 如何连接 Pandas 中具有不同列数的两个帧?

转载 作者:太空狗 更新时间:2023-10-29 21:25:34 25 4
gpt4 key购买 nike

我有以下数据框:

数据框 1:

|---------------------|------------------|
| property_id | beds |
|---------------------|------------------|
| 1 | 1 |
|---------------------|------------------|
| 2 | 2 |
|---------------------|------------------|

数据框 2:

|---------------------| 
| property_id |
|---------------------|
| 3 |
|---------------------|
| 4 |
|---------------------|

我要生成的是以下 Dataframe:

|---------------------|------------------|
| property_id | beds |
|---------------------|------------------|
| 1 | 1 |
|---------------------|------------------|
| 2 | 2 |
|---------------------|------------------|
| 3 | 0 |
|---------------------|------------------|
| 4 | 0 |
|---------------------|------------------|

我想要的是拼接两个Dataframes,前者的列比后者多,但是后者的所有列都在前者里面。当后一个数据框中不存在该列时,我想将默认值设置为 0。我该如何实现?

df1 = pd.DataFrame({'property_id': [1, 2], 'beds': [1, 2]})
df2 = pd.DataFrame({'property_id': [3, 4]})

我对 pandas 几乎没有经验,那我能做什么呢?

最佳答案

您可以使用 pandas.concatappend 方法,这两种方法都会为不存​​在的列生成 NA子数据框,用零填充它们,你可以使用fillna(0):

df1.append(df2).fillna(0)

# beds property_id
#0 1.0 1
#1 2.0 2
#0 0.0 3
#1 0.0 4


pd.concat([df1, df2]).fillna(0)

# beds property_id
#0 1.0 1
#1 2.0 2
#0 0.0 3
#1 0.0 4

关于python - 如何连接 Pandas 中具有不同列数的两个帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43578703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com