Струнное соответствие двух Панд - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть два (адресных) столбца в двух разных фреймах данных, каждый столбец имеет разную длину, и я хочу перебрать каждый элемент из одного столбца фрейма данных относительно другого столбца другого фрейма данных.Это означает, что я хочу проверить, совпадает ли каждый элемент в первом столбце первого кадра данных с любым из элементов второго столбца второго кадра данных, и вернуть логическое значение.

Как реализовать вышеизложенное в python?

Кадр данных 1:

0 New Delhi, India
1 Mumbai, India
2 Bangalore, India
3 Dwarka, New Delhi, India

Кадр данных 2:

0 Nepal
1 Assam, India
2 Delhi

Результат: (длина должна быть равна len столбца 1 df 1)

True
False
False
True

1 Ответ

0 голосов
/ 04 февраля 2019
import pandas as pd
sales1 = [{'account': 'Jones LLC', 'Jan': 150, 'Feb': 200, 'Mar': 140},
     {'account': 'Alpha Co',  'Jan': 200, 'Feb': 210, 'Mar': 215},
     {'account': 'Blue Inc',  'Jan': 50,  'Feb': 90,  'Mar': 95 }]

sales2 = [{'account': 'Jones LLC', 'Jan': 150, 'Feb': 200, 'Mar': 140},
     {'account': 'A',  'Jan': 200, 'Feb': 210, 'Mar': 215},
     {'account': 'S',  'Jan': 50,  'Feb': 90,  'Mar': 95 }]

df1 = pd.DataFrame(sales1)
df2 = pd.DataFrame(sales2)

def CheckDF(df1,df2):
    for (item, Value),(item1, Value1) in 
    zip(df1['account'].iteritems(),df2['account'].iteritems()):
        if len(str(Value).strip()) == len(str(Value1).strip()):
            print(True)
        else:
            print(False)

CheckDF(df1,df2)

DF1:

   Feb  Jan  Mar    account
0  200  150  140  Jones LLC
1  210  200  215   Alpha Co
2   90   50   95   Blue Inc

DF2:

   Feb  Jan  Mar    account
0  200  150  140  Jones LLC
1  210  200  215          A
2   90   50   95          S

Выход:

True
False
False
...