我们举一个简单的例子。我有第一个数据帧:</p>
<pre><code>df = pd.DataFrame(dict(Name=['abc','def','ghi'],NoMatter=['X','X','X']))
df
Name NoMatter
0 abc X
1 def X
2 ghi X
</code></pre>
<p>出于某些原因,我想使用一个For循环,它向df添加一个列值,并从每次迭代中更改的另一个数据帧进行一些处理:</p>
<pre><code># strucutre of for loop I would like to use :
for i in range(something) :
add the column Value to df from df_value
other treatment not usefull here
# appearance of df_value (which change at each iteration of the for loop) :
Name Value
0 abc 1
1 def 2
2 ghi 3
</code></pre>
<p><strong>但是,我不希望使用合并,因为这需要在添加当前迭代的列值之前删除在上一次迭代中添加的列值。是否有一种方法可以将Value列添加到df中,只需以如下方式开始赋值:</p>
<pre><code>df['Value'] = XXX
</code></pre>
<p>预期产出:</p>
<pre><code> Name NoMatter Value
0 abc X 1
1 def X 2
2 ghi X 3
</code></pre>
<p><strong>[编辑]</strong></p>
<p>我不想使用合并,因为在for循环的第四次迭代中,df将有以下列:</p>
<p>名称NoMatter Value1 Value2 Value3 Value4</p>
<p>而我只想:</p>
<p>名称NoMatter值4</p>
<p>我每次都可以删除上一列,但似乎效率不高。这就是为什么我只是在寻找一种为Value列赋值的方法,而不是添加列。类似于Excel中的vlookup函数,该函数应用于df_值数据中的df</p>