Применение кадра данных (карта) Функция TypeError - PullRequest
0 голосов
/ 24 марта 2019

Может ли кто-нибудь указать на ошибку моего пути с этим фрагментом кода:

groupIds = allData.drop_duplicates('GroupID').set_index('Ticket')['GroupID']

allData.loc[(allData['SexGroup']!='Man') & (allData['GroupID']=='Alone'), 'GroupID'].apply(lambda x: x['Ticket'].map(groupIds).fillna('Alone'))

Ошибка:

Exception has occurred: TypeError
string indices must be integers

Спасибо!

EDIT:

Данные

             Survived  Pclass                                               Name     Sex   Age  SibSp  Parch            Ticket     Fare Cabin Embarked Title SexGroup    Surname     TicketShort  FamilySize  Alone  IsWomanOrChild  SurnameFreq GroupID
PassengerId
1                 0.0       3                            Braund, Mr. Owen Harris    male  22.0      1      0         A/5 21171   7.2500   NaN        S    Mr      Man     Braund         A/5 211           2  False           False            0   Alone
2                 1.0       1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1      0          PC 17599  71.2833   C85        C   Mrs    Woman    Cumings          PC 175           2  False            True            1   Alone
3                 1.0       3                             Heikkinen, Miss. Laina  female  26.0      0      0  STON/O2. 3101282   7.9250   NaN        S  Miss    Woman  Heikkinen  STON/O2. 31012           1   True            True            1   Alone
4                 1.0       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1      0            113803  53.1000  C123        S   Mrs    Woman   Futrelle            1138           2  False            True            1   Alone
5                 0.0       3                           Allen, Mr. William Henry    male  35.0      0      0            373450   8.0500   NaN        S    Mr      Man      Allen            3734           1   True           False            1   Alone

РЕДАКТИРОВАТЬ 2:

Код должен проходить через все идентификаторы GroupID, где пол женский, а текущий GroupID «Alone». Затем, если эти условия выполняются, для этой строки проверьте, встречается ли значение «Билет» в другом месте столбца «Билет». Если да, верните GroupID для этого случая. Если нет, оставьте это «Один»

1 Ответ

0 голосов
/ 24 марта 2019

Для любого, кто пытается сделать что-то подобное, у меня это сработало:

allData.loc[(allData['SexGroup']!='Man') & (allData['GroupID']=='Alone'), 'GroupID'] = allData['Ticket'].map(groupIds).fillna('Alone')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...