【发布时间】:2020-07-02 12:44:22
【问题描述】:
我正在尝试从一个列表('provider')中创建一个新变量,用于检查数据框的另一列中是否存在某些 id:
import pandas as pd
xx = {'provider_id': [1, 2, 30, 8, 8, 7, 9]}
xx = pd.DataFrame(data=xx)
ids = [8,9,30]
names = ["netflix", "prime","sky"]
for id_,name in zip(ids,names):
provider = []
if id_ in xx["provider_id"]:
provider.append(name)
provider
预期结果:
['netflix', 'prime', 'sky']
实际结果:
['sky']
所以for 循环不断覆盖循环内name 的结果?这个功能对我来说似乎很奇怪,老实说,我不知道如何防止这种情况发生,然后编写三个单独的 if 语句。
【问题讨论】:
标签: python pandas loops for-loop