У меня есть фрейм данных pandas с двумя столбцами ('no1' и 'no2'), некоторые значения содержат китайские символы, некоторые нет.
no1 no2
Paul Pogba 贝克汉姆
Gianluigi Buffon 莱奥内尔・梅西
莱奥内尔・梅西 莱奥内尔・梅西
Cristiano Ronaldo 莱奥内尔・梅西
STEVE HARRIS zinedine zidane
Cristiano Ronaldo Gianluigi Buffon
Я хотел бы добавить столбецкоторый имеет значение 1, если в любом из двух столбцов есть строка с китайским символом, и 0, если ни один из них не содержит.Функция выглядит следующим образом:
def find_china_symbols(text):
counter = 0
if isinstance(text,str):
for char in text:
if ord(char) > 10000:
counter += 1
if counter > 0:
return True
else:
return False
else:
return False
Ранее я использовал np.where
для создания этого столбца (как показано ниже), но в этом случае он не работает.Почему это не так?
df["Chinese"] = np.where(find_china_symbols(df["no1"]) | find_china_symbols(df["no2"]),1,0)
В идеале это будет результатом:
no1 no2 Chinese
Paul Pogba 贝克汉姆 1
Gianluigi Buffon 莱奥内尔・梅西 1
莱奥内尔・梅西 莱奥内尔・梅西 1
Cristiano Ronaldo 莱奥内尔・梅西 1
STEVE HARRIS zinedine zidane 0
Cristiano Ronaldo Gianluigi Buffon 0