【发布时间】:2019-10-13 04:35:41
【问题描述】:
我目前有以下代码 - 我正在尝试根据 Last Name 列在一个数据框中获取匹配行。
def rule(row):
name = row['Last Name']
return rules.loc[rules['Last Name'] == name]['Type']
df['Type'] = df.apply(rule, axis=1)
当我运行它时,由于rule 方法中的== name 而出现错误 - 我该如何解决?
ValueError: ('Buffer has wrong number of dimensions (expected 1, got 0)', 'occurred at index 0')
这是rules 的样子:
Last Name Type
0 Smith A
1 Doe B
和df:
Name First Name Last Name
0 John Smith John Smith
1 Jane Doe Jane Doe
2 John Doe John Doe
我希望决赛看起来像:
Name First Name Last Name Type
0 John Smith John Smith A
1 Jane Doe Jane Doe B
2 John Doe John Doe B
编辑:添加示例 rules 和 df
【问题讨论】:
-
请提供一些输入数据和您的预期结果
-
@splash58 我在尝试时遇到同样的错误