Python-Сравнение двух строковых столбцов в одном и том же кадре данных, возвращает результат соответствия - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть один фрейм данных, который имеет два столбца состояния строки: State и STATE_ALPHA, которые я хочу вернуть, только если два столбца совпадают.Оба столбца представляют собой двухсимвольные строки (AK, CA, FL), и я знаю, каким должен быть ожидаемый результат.Спасибо за вашу помощь.

Я пробовал это ниже:

 df10=df9['State']==['STATE_ALPHA']

ошибка, которую я получаю: Массивы были различной длины: 706 против 1

 df10=df9['State']=['STATE_ALPHA']

ошибка, которую я получаю: Длина значений делаетне соответствует длине индекса

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

Использование примера ввода из @ Veera

df=pd.DataFrame({"string1":['CA','MI','AZ','NY'],"string2":['CA','MA','FL','NY']})
df[df.string1==df.string2]
string1 string2
0   CA  CA
3   NY  NY
0 голосов
/ 19 сентября 2018

Это решение отлично работает для того, что мне нужно.Спасибо за вашу помощь.

df8 = df7[df7['State'] == df7['STATE_ALPHA']]
0 голосов
/ 13 сентября 2018
import pandas as pd
df=pd.DataFrame({"string1":['CA','MI','AZ','NY'],"string2":['CA','MA','FL','NY']})

df_common=df[df[["string1","string2"]].apply(lambda x : x[0]==x[1],axis=1)].reset_index(drop=True).copy()
...