Карта определена, если значение не в словаре - Python - PullRequest
0 голосов
/ 11 марта 2019

Я занят с Титаником, и я хочу упростить и Pythonify этот кусок кода:

allData = [trainData, testData]

commonTitles = {'Mlle' : 'Miss', 'Ms' : 'Miss', 'Mme' : 'Mrs', all others : 'Rare'}

for dataset in allData:
dataset['Title'].map(commonTitles)

Как мне указать все остальные часть? Кроме того, команда карты пропустит здесь «Мисс» и «Миссис» или изменит их на «Редкий»?

Спасибо

1 Ответ

1 голос
/ 11 марта 2019

Сначала измените словарь, удалив Rare, и добавьте 2 элемента с одинаковым ключом и значением, чтобы избежать их, замените их на Rare, добавьте Series.fillna, чтобы заменить значения без совпадений и потому что список циклов в DataFrameсоздайте еще один:

commonTitles = {'Mlle' : 'Miss', 
                'Ms' : 'Miss', 
                'Miss':'Miss',
                'Mme' : 'Mrs',
                'Mrs': 'Mrs'}

dfs = []
for dataset in allData:
    dataset['Title' ] = dataset['Title' ].map(commonTitles).fillna('Rare')
    dfs.append(dataset)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...