В приведенном ниже примере я пытаюсь создать новый столбец df1['new']
.Я хочу посмотреть значения df1['city']
и посмотреть, являются ли они подстрокой какой-либо из строк в df2['des']
.Если это так, я хочу, чтобы df1['new']
имел значения df2['des']:
(в данном примере описание города).
df1['city']
:
city
0 New York
1 Amsterdam
2 London
3 Karachi
df2['des']
:
des
0 London is the capital and ...
1 Amsterdam and New York are two...
2 Karachi is the capital of...
Это то, что я хочу
city new
0 New York Amsterdam and New York are two...
1 Amsterdam Amsterdam and New York are two...
2 London London is the capital and ...
3 Karachi Karachi is the capital of...
На данный момент самое близкое, что мне удалось решить, это:
df['new'] = df.loc[df.des.str.contains("London"), 'des']
Чтовыходные данные:
city new
0 New York NaN
1 Amsterdam NaN
2 London London is the capital and ...
3 Karachi NaN
Я хочу вместо того, чтобы просто передать "London"
в условном выражении, передать всю серию df1['city']
.Если я сделаю это, я получу эту ошибку: TypeError: 'Series' objects are mutable, thus they cannot be hashed