有什么方法可以合并两个熊猫数据帧?

我想合并2个数据框。但是,它有一个问题。如果1个表的值必须复制到另一个表,如何合并2个表。

我已经尝试过了,pandas.concat和pandas.merge。

df1={'id':[1]}
df2={'Brand':['volvo','audi'],'Price':[20,000,30,000]}

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

我希望表格显示如下:

id  Brand   Price
1   volvo   20,000
1   audi    30,000

这意味着ID 1拥有两辆车。

ioublack 回答:有什么方法可以合并两个熊猫数据帧?

如果有多个值,则必须决定如何合并。如果只有1,则可以简单地分配:

df1['key'] = 1
df2['key'] = 1

对临时键执行合并,然后放下临时键:

df1.merge(df2).drop(columns=['key'])

输出:

 id  Brand  Price
 0   1  volvo  20000
 1   1   audi  30000

但是您正在执行笛卡尔积,因此,如果df1 e.g: [1,2]中存在多个值,则会有更多重复数据:

id  Brand  Price
0   1  volvo  20000
1   1   audi  30000
2   2  volvo  20000
3   2   audi  30000
,

这是我当前的解决方案:

df1={'id':[1]}
df2 = {'Brand':['Volvo','Heizen','Eizen'],'Price':[20000,30000,40000]}

person=pd.DataFrame(df1)
car=pd.DataFrame(df2)
id=person.loc[0].id
car.insert(0,"id",id)
print(car)

这是我的输出:

   id   Brand  Price
0   1   Volvo  20000
1   1  Heizen  30000
2   1   Eizen  40000

它可以得到我期望的表。但这有更好的解决方案吗?

,

df1和df2不是熊猫数据帧。

data1={'id':[1]}
data2={'Brand':['volvo','audi'],30000]} 

df1 = pd.DataFrame(data1) #creating dataframes
df2 = pd.DataFrame(data2)
frames = [df1,df2]

并串联

pd.concat(frames,sort=False)

收益

id  Brand   Price
0   1.0     NaN     NaN
0   NaN     volvo   20000.0
1   NaN     audi    30000.0
本文链接:https://www.f2er.com/3147960.html

大家都在问