Python 如何从另一个具有不同大小的数据帧向数据帧添加列
我有2个数据帧,我想从另一个数据帧向其中一个数据帧添加一个新列 ''' 。 . 。 . ''' 如何向df1添加一列“amount”,该列包含df1每个Id的df2值amount。df1和df2的大小不相等您可以在Python 如何从另一个具有不同大小的数据帧向数据帧添加列,python,pandas,dataframe,Python,Pandas,Dataframe,我有2个数据帧,我想从另一个数据帧向其中一个数据帧添加一个新列 ''' 。 . 。 . ''' 如何向df1添加一列“amount”,该列包含df1每个Id的df2值amount。df1和df2的大小不相等您可以在Id列上选择两个数据帧,然后将结果amount列分配给您的第一个df: 将熊猫作为pd导入 df1=pd.DataFrame( {“Id”:[12,13,34],“height”:[1,2,3]} ) df2=pd.DataFrame( {“Id”:[12,15,13],“amou
Id
列上选择两个数据帧,然后将结果amount
列分配给您的第一个df:
将熊猫作为pd导入
df1=pd.DataFrame(
{“Id”:[12,13,34],“height”:[1,2,3]}
)
df2=pd.DataFrame(
{“Id”:[12,15,13],“amount”:[4,5,6]}
)
df1[“金额”]=df1.merge(df2,on=“Id”)[“金额”]
结果:
>>> print(df1)
Id height amount
0 12 1 4.0
1 13 2 6.0
2 34 3 NaN
您可以选择Id
列上的两个数据帧,然后将生成的amount
列分配给您的第一个df:
将熊猫作为pd导入
df1=pd.DataFrame(
{“Id”:[12,13,34],“height”:[1,2,3]}
)
df2=pd.DataFrame(
{“Id”:[12,15,13],“amount”:[4,5,6]}
)
df1[“金额”]=df1.merge(df2,on=“Id”)[“金额”]
结果:
>>> print(df1)
Id height amount
0 12 1 4.0
1 13 2 6.0
2 34 3 NaN
Id是索引列,然后您可以使用update方法来执行此操作
df1=pd.DataFrame([[12190.0],[13180.0],[34173.0]),columns=('Id','height'))。设置索引(“Id”)
df2=pd.DataFrame([[12334.0],[15256.0],[13248.0]),columns=('Id','amount')。设置索引(“Id”)
df1[“金额”]=np.nan
df1.update(df2,overwrite=True)
打印(df1)
结果
height amount
Id
12 190.0 234.0
13 180.0 248.0
34 173.0 NaN
Id是索引列,然后您可以使用update方法来执行此操作
df1=pd.DataFrame([[12190.0],[13180.0],[34173.0]),columns=('Id','height'))。设置索引(“Id”)
df2=pd.DataFrame([[12334.0],[15256.0],[13248.0]),columns=('Id','amount')。设置索引(“Id”)
df1[“金额”]=np.nan
df1.update(df2,overwrite=True)
打印(df1)
结果
height amount
Id
12 190.0 234.0
13 180.0 248.0
34 173.0 NaN
df.join(df1.set_index('Id'),on='Id')
df.join(df1.set_index('Id'),on='Id')