Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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 发生异常:TypeError';在<;字符串>';需要字符串作为左操作数,而不是序列_Python_Pandas - Fatal编程技术网

Python 发生异常:TypeError';在<;字符串>';需要字符串作为左操作数,而不是序列

Python 发生异常:TypeError';在<;字符串>';需要字符串作为左操作数,而不是序列,python,pandas,Python,Pandas,我在python中与Pandas合作,我有两个数据帧,我试图将信息从一个数据帧拉到另一个数据帧。下面是一个代码示例 import pandas as pd employees = {'Names': ['John','Jack','Frank','Mike'], 'Employee_id': ['123', '124', '125', '126'], 'Leader': ['','','','']} df1 = pd.DataFra

我在python中与Pandas合作,我有两个数据帧,我试图将信息从一个数据帧拉到另一个数据帧。下面是一个代码示例

    import pandas as pd

employees = {'Names': ['John','Jack','Frank','Mike'],
             'Employee_id': ['123', '124', '125', '126'],
             'Leader': ['','','','']}

df1 = pd.DataFrame(employees, columns = ['Names', 'Employee_id', 'Leader'])

print(df1)

leader = {'Employee_id': ['123', '124', '125', '126'],
          'Supervisor': ['Nick', 'Jeff', 'Nick', 'Jeff']}

df2 = pd.DataFrame(leader, columns = ['Employee_id', 'Supervisor'])
print(df2)

df1['Leader'] = df1['Employee_id'].map(lambda x: df2['Supervisor'] if df2['Employee_id'] in x else "")

print(df1)
这里是错误

Exception has occurred: TypeError
'in <string>' requires string as left operand, not Series
发生异常:TypeError “in”要求字符串作为左操作数,而不是序列 不知道我做错了什么

谢谢你的帮助

使用:


在x中的代码
df2['Employee_id']中,
x
是一个字符串,
df2['Employee_id']
是一个系列。Python不知道如何在大字符串操作中检查
系列。更具体地说,它只能检查大字符串中的
某些字符串

在您的情况下,您可以将
map
与系列一起使用:

df1['Leader'] = df1['Employee_id'].map(df2.set_index('Employee_id')['Supervisor'])
输出:

   Names Employee_id Leader
0   John         123   Nick
1   Jack         124   Jeff
2  Frank         125   Nick
3   Mike         126   Jeff
   Names Employee_id Leader
0   John         123   Nick
1   Jack         124   Jeff
2  Frank         125   Nick
3   Mike         126   Jeff