Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如果列Y的值在可能值的列表L中,则更新列X的值_Python_Pandas - Fatal编程技术网

Python:如果列Y的值在可能值的列表L中,则更新列X的值

Python:如果列Y的值在可能值的列表L中,则更新列X的值,python,pandas,Python,Pandas,有一个包含公交站点ID列表的数据帧,且集线器为“无”。我需要更新数据帧,以便-如果公共汽车站id在列表a_id中,则其对应的集线器应为a,如果在b_id中,则集线器=b,依此类推 a = pd.DataFrame(({'stop' : ['10388','10382','10383','10387','10389','25568'],'hub' : ['none', 'none', 'none', 'none', 'none', 'none']})) a_ids = ['10388','1038

有一个包含公交站点ID列表的数据帧,且集线器为“无”。我需要更新数据帧,以便-如果公共汽车站id在列表a_id中,则其对应的集线器应为a,如果在b_id中,则集线器=b,依此类推

a = pd.DataFrame(({'stop' : ['10388','10382','10383','10387','10389','25568'],'hub' : ['none', 'none', 'none', 'none', 'none', 'none']}))
a_ids = ['10388','10382','10383']
b_ids = ['10387','10389','25568','10381']

a
我试过:

a[(a.stop.isin(a_ids)),'hub'] = 'a'
我知道我的方法有缺陷;感谢您的帮助。

试试以下方法:

a = pd.DataFrame(({'stop' : ['10388','10382','10383','10387','10389','25568'], 
                   'hub' : ['none', 'none', 'none', 'none', 'none', 'none']}))

a_ids = ['10388','10382','10383']
b_ids = ['10387','10389','25568','10381']
print (a)

# Output
    stop    hub
0   10388   none
1   10382   none
2   10383   none
3   10387   none
4   10389   none
5   25568   none
只需使用
loc
isin

a.loc[a.stop.isin(a_ids), 'hub'] = 'a'
a.loc[a.stop.isin(b_ids), 'hub'] = 'b'

output:

    stop    hub
0   10388   a
1   10382   a
2   10383   a
3   10387   b
4   10389   b
5   25568   b