Как я могу получить доступ к столбцу по имени в качестве переменной, чтобы использовать метод isin () - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть два кадра данных как df1 и df2.
Оба имеют то же имя столбца, что и «Счета».

В настоящее время я могу получить доступ к этим данным для сравнения, используя следующий код:
df1.account.isin(df2.account.values)

Я бы хотел, чтобы к «аккаунту» обращались как к переменной, как-то так.
df1.[account].isin(df2.[account].values)

После исследования я нашел возможное решение:
df1.loc[:, 'account'] (Я подозреваю, что это неправильный подход.)

С этого момента я не уверен, как получить доступ к методу isin ()

В результате я приветствую вашимудрость в любых альтернативных способах достижения этого.
Ваша помощь очень ценится:)

Полный блок кода выглядит следующим образом:

slgCSV = 'c:\\automation\\python\\a.csv'
armyCSV = 'c:\\automation\\python\\b.csv'
df1 = pd.read_csv(slgCSV)
df2 = pd.read_csv(armyCSV)
d3 = {'Expected': [], 'Actual': []}
df3 = pd.DataFrame(data=d3)
match1 = df1.account.isin(df2.account.values)
match2 = df2.account.isin(df1.account.values)
for r1 in df1[match1].index:
    for r2 in df2[match2].index:
        # print("R2: " + str(r2))
        if df1.account[r1] == df2.account[r2]:
            idx = df1.account[r1]
            row = {'Expected Row ID': r1+2, 'Actual Row ID': r2+2}
            print("Output: " + str(row) + ": " + str(idx))

df1 выглядит таквыглядит следующим образом:

Account
1
2
3
4
5

df2 выглядит следующим образом:

Account
3
1
5
2
4



Решение выглядит следующим образом: col = "account"
df1[col].isin(df2[col].values)

Спасибо за помощь!

1 Ответ

0 голосов
/ 22 февраля 2019

Попробуйте ... используя установленную функциональность

Usercol ='Account' #user entry
Common = 
list(set(df1.loc[:Usercol]).intersect(set(df2.loc[:Usercol])))
#fetch index of each data frame using
df1[df1[Usercol].isin(Common)].index
df2[df2[Usercol].isin(Common)].index
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...