回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想从for循环中的现有列表创建一个新列表,然后通过if-else语句传递该列表,一次传递一个元素。我不知道用这种方式使用列表。因此这篇文章</p>
<p>样本数据:</p>
<pre><code>f = {'Sales_Person': ['John', 'Tom', 'Dick', 'Harry', 'Rob', 'Mike', 'Miz', 'Sally', 'Buck', 'Roger'], 'location': ['NY', 'NY', 'NY', 'NJ', 'PA', 'NJ', 'NJ', 'PA', 'NY', 'NJ'], 'product_code': ['10NYXX', '11NYXX', '10NYXX', '10NJXY', '11PAXY', '11MNYY', '12NJYX', '11PAYY', '12NYXX', '11CAPQ']}
df1 = pd.DataFrame(data = f)
df1['statusNY'] = 'n/a'
df1['statusPA'] = 'n/a'
df1['statusIL'] = 'n/a'
df1['statusOR'] = 'n/a'
df1['statusNJ'] = 'n/a'
</code></pre>
<p>数据看起来像-</p>
<p><a href="https://i.stack.imgur.com/bnnA5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bnnA5.png" alt="enter image description here"/></a></p>
<p>我使用这些列名['statusNY'、'statusPA'、'statusIL'、'statusOR'、'statusNJ']并从中提取状态名[NY、PA、IL或and NJ]。然后我将检查“产品代码”列是否包含这些状态名称。如果为true,则将1分配给“statusNY”;如果为false,则将0分配给“statusNY”。与其他列名“statusPA”、“statusIL”、“statusOR”、“statusNJ”类似</p>
<p>输出应如下所示:</p>
<p><a href="https://i.stack.imgur.com/pEeYt.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/pEeYt.png" alt="enter image description here"/></a></p>
<p>我有以下代码:</p>
^{pr2}$
<p>理想情况下,第二行应该创建一个通过第三行和第四行传递的列表。但这行不通。在</p>
<p>然后我想把这个单子加上去-</p>
<pre><code>newlist = []
for col in ['statusNY', 'statusPA', 'statusIL', 'statusOR', 'statusNJ']:
newlist.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>[col[6:8]]
</code></pre>
<p>但最终得到了这样的错误:TypeError:“builtin_function”或“u method”对象不可订阅。我在谷歌上搜索了一下,也查了其他相关的帖子,但结果与我的案例不太相关。在</p>