Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从另一个具有不同大小的数据帧向数据帧添加列_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何从另一个具有不同大小的数据帧向数据帧添加列

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

我有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],“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')