Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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 用df2列值替换df1列值-df-1列-3的值为df-2列_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 用df2列值替换df1列值-df-1列-3的值为df-2列

Python 用df2列值替换df1列值-df-1列-3的值为df-2列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,df-1第3列的值为df-2列。我想用col1作为索引的df-2中的相应值替换df1列-3的值 df1 looks like: col1 col2 col3 ---------------------- label1 val1 A label2 val2 NaN label3 val3 B df2 looks like: col1 A B ------------------- label1 v1 NaN label2 v2

df-1第3列的值为df-2列。我想用col1作为索引的df-2中的相应值替换df1列-3的值

df1 looks like:
col1    col2    col3
----------------------
label1  val1    A
label2  val2    NaN
label3  val3    B

df2 looks like:
col1     A      B
-------------------
label1   v1    NaN 
label2   v2    NaN
label3   v3    v2


final df1 should be:
col1    col2    col3
----------------------
label1  val1    v1
label2  val2    Nan
label3  val3    v2
我可以通过将数据帧转换为列表列表,对其进行处理,然后再次将列表列表转换为数据帧来实现这一点。但我想知道有没有办法直接完成这项任务

使用


谢谢,工作很有魅力。我添加了reset_索引,使其成为一个完整的数据框架,其中包括作为列的索引。df.reset_索引(级别=0,就地=True)
df   = df.set_index('col1')
df_n = df.dropna()

df.loc[df_n.index, 'col3'] = df2.set_index('col1').lookup(df_n.index, df_n.col3)

        col2    col3
col1        
label1  val1    v1
label2  val2    NaN
label3  val3    v2