<p>我试图使用现有的pandas列作为一组索引来设置一个新的pandas列,以分隔列表,但不断出现以下错误:</p>
<pre><code>TypeError: list indices must be integers or slices, not Series
</code></pre>
<p>参见下面的代码:</p>
<pre><code>import pandas as pd
monthvalues=[1,4,9,16,25,36,49,64,81,100,121,144]
df=pd.DataFrame([1,4,7,9], columns=['month'])
df['value']=monthvalues[df['month']-1]
</code></pre>
<p>预期结果</p>
<pre><code> "month" "value"
0 1 1
1 4 16
2 7 49
3 9 81
</code></pre>
<p>请注意,这只是一个例子,实际上我并没有试图将月份数字平方。你知道吗</p>
<p>这是因为<code>df['month']</code>返回的是一个Pandas系列,而不是我猜想您所期望的列表(尽管如果它是一个列表,它仍然不起作用)。你知道吗</p>
<p>我不确定是否有更整洁的方法,但试试这个:</p>
<pre><code>df['value'] = [monthvalues[x] for x in df['month']-1]
</code></pre>