我试图用两个参数定义一个函数:df(dataframe)和一个整数(employerID)作为我的参数。此函数将返回雇主的全名。你知道吗
如果给定的ID不属于任何员工,我想返回字符串“UNKNOWN”/如果没有给出中间名,只返回“LAST,FIRST”。/如果只给出中间的首字母,则返回格式为“LAST,FIRST M.”的全名,中间的首字母后跟“.”。你知道吗
def getFullName(df, int1):
df = pd.read_excel('/home/data/AdventureWorks/Employees.xls')
newdf = df[(df['EmployeeID'] == int1)]
print("'" + newdf['LastName'].item() + "," + " " + newdf['FirstName'].item() + " " + newdf['MiddleName'].item() + "." + "'")
getFullName('df', 110)
我写了这段代码,但遇到了两个问题: 1) 如果我不在df周围加引号,它会给我一个错误消息,但我只想把数据帧作为参数,而不是字符串。你知道吗
2)此代码不能处理没有中间名的人。你知道吗
对不起,我以前pd.read\U表格读取无法访问的excel文件。我知道如果没有excel文件,你很难测试代码,如果有人让我知道如何创建一个带有列名的随机数据框,我会继续更改它。谢谢你
我为此创建了一些假数据:
EmployeeID
9没有中间名,但其他人都有。我的方法是把逻辑分成两部分。第一,当你找不到EmployeeID
的时候。第二个负责打印员工姓名。第二部分还应该有两组逻辑,一组控制员工是否有中间名,另一组控制他们是否有中间名。你可能会将很多这部分合并成单行语句,但你可能会牺牲清晰度。你知道吗我还从函数中删除了
pd.read_excel
调用。如果您想将数据帧传递给函数,那么应该为其创建数据帧。你知道吗我有一个返回值的函数,以防您想进一步操作字符串。但那只是我。你知道吗
如果你运行
getFullName(df, 1)
,你应该得到'b, b b.'
。对于getFullName(df, 9)
你应该得到'j, j'
。你知道吗因此,总的来说,应该是:
虚假数据:
相关问题 更多 >
编程相关推荐