如果有多个值,则必须决定如何合并。如果只有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