【发布时间】:2021-10-27 03:08:34
【问题描述】:
我的脚本有问题,它生成 KeyError: 'One or more row labels was not found'
df1 = pd.DataFrame({'Destcode' : ['A','B','C','D','E','F','G'],
'City A' : ['Available','Available','Available','Available','Not Available','Not Available','Available'],
'City B' : ['Not Available','Available','Not Available','Available','Not Available','Not Available','Available'],
'City C' : ['Available','Available','Not Available','Available','Not Available','Available','Available']})
df2 = pd.DataFrame({'Destcode' : ['C','F','G','D','E'],
'Origin' : ['City A','City C','City A','City B','City D']})
所以,我有 2 个 DataFrame。
数据帧 1
df1
Destcode City A City B City C
0 A Available Not Available Available
1 B Available Available Available
2 C Available Not Available Not Available
3 D Available Available Available
4 E Not Available Not Available Not Available
5 F Not Available Not Available Available
6 G Available Available Available
数据帧 2
df2
Destcode Origin
0 C City A
1 F City C
2 G City A
3 D City B
4 E City D
然后我运行这个脚本
df2['Cek Available'] = df1.set_index('Destcode').lookup(df2.Destcode, df2.Origin)
我得到一个错误 enter image description here
我知道问题出在 Origin City D 中,它不在 DataFrame df1 中。
如果您要查找的数据不存在,您如何做到这一点,它将返回值“不可用”? 请帮我解决这个问题
Destcode Origin Cek Available
0 C City A ?
1 F City C ?
2 G City A ?
3 D City B ?
4 E City D ?
【问题讨论】:
-
你到底想做什么?请注意,“lookup”在 1.2.0 中已弃用
-
你能不能帮我写一个能帮我解决的脚本?
标签: python-3.x pandas dataframe lookup lookup-tables