Логический ключ Переиндексируется в isnull (). Any (axis = 1) - PullRequest
0 голосов
/ 02 июля 2018

Я видел вопрос и ответ , относящиеся к предупреждению пользователя: ключ логической серии будет переиндексирован для соответствия индексу DataFrame

Я пробовал разбивать команды по отдельности, как мог, но все же получил предупреждение пользователя. Что еще я могу сделать, чтобы сделать приведенное ниже более явным, чем оно есть, и исключить предупреждение о последних двух утверждениях (dfa_ = dfa[qux] и dfb_ = dfb[qux])?

import random
import pandas as pd

fields = ['foo', 'bar', 'baz']

def randstring(x=3):
    return ''.join([chr(random.randrange(65, 91)) for _ in range(x)])

def randstrlist(x=3):
    return [randstring(x) for _ in range(5)]

values = {field: randstrlist() for field in fields}

def getitem():
    return {field: random.choice(values[field]) for field in fields}

def getdata(setsize=100):
    return [getitem() for _ in range(setsize)]

dfa = getdata()
dfb = getdata()

cols = dfa.columns.tolist()
dfa['qux'] = dfa.groupby(cols).cumcount()
dfb['qux'] = dfb.groupby(cols).cumcount()
cols = cols + ['qux']

dfo = pd.merge(dfa, dfb, on=cols, how='outer').drop('qux', 1)
qux = dfo.isnull().any(axis=1)
dfa_ = dfa[qux]
dfb_ = dfb[qux]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...