<p>导致不希望的输出的问题来自这样一个事实:您正试图用语句将完整的<code>Pandas.DataFrame</code>附加到<code>Pandas.Series</code>上</p>
<pre class="lang-py prettyprint-override"><code>df=Top['A'].append(d['-OE1x-'])
</code></pre>
<p>如果将此行更改为:</p>
<pre class="lang-py prettyprint-override"><code>df = Top.append(d['-OE1x-'])
</code></pre>
<p><code>df</code>将如下所示:</p>
<pre class="lang-py prettyprint-override"><code> A
0 Hello
1 World
0 Appended Item-1x
</code></pre>
<p>您可能希望将<code>ignore_index=True</code>作为参数传递给对<code>Pandas.DataFrame.append()</code>的调用,以便为包含<code>Appended Item-1x</code>的行提供一个顺序索引,即不包括<code>0</code>的原始索引,因为这将导致在<code>df</code>中有两行具有<code>0</code>索引</p>
<p>例如</p>
<pre class="lang-py prettyprint-override"><code>df = Top.append(d['-OE1x-'], ignore_index=True)
</code></pre>
<p>将为您提供以下<code>df</code>:</p>
<pre class="lang-py prettyprint-override"><code> A
0 Hello
1 World
2 Appended Item-1x
</code></pre>
<h2>替代解决方案</h2>
<p>由于似乎除了将它们作为新行附加到现有数据帧之外,实际上没有使用<code>d</code>中的每个<code>Pandas.DataFrame</code>,因此重构代码以使<code>d</code>中的每个条目看起来像<code>str: str</code>而不是<code>str: Pandas.DataFrame</code>可能是一个好主意。使用您的原始代码,您可以实现以下目标:</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
Top = pd.DataFrame({'A':['Hello', 'World']})
Frst = ['1','2']
Scnd = ['x','y']
d = { f'-OE{num1}{num2}-': f'Appended Item-{num1}{num2}' for num1 in Frst for num2 in Scnd }
df = Top.append({'A': d['-OE1x-']}, ignore_index=True)
</code></pre>
<p>这还将提供所需的<code>df</code>:</p>
<pre><code> A
0 Hello
1 World
2 Appended Item-1x
</code></pre>
<p>但是,与前面提供的答案(以及您的原始代码)不同,它将大大减少内存占用,因为<code>d</code>不会被<code>Pandas.DataFrame</code>的实例不必要地填充</p>