Как исправить результат loc, возвращающий транспонированный ряд - PullRequest
0 голосов
/ 12 апреля 2019

Я использую loc, чтобы получить серию транзакций для пользователя и преобразовать их в фрейм данных.

Кажется, что всякий раз, когда у пользователя есть 1 транзакция, результатом является DF с'action_date 'на вертикальной оси Если есть несколько результатов, user_id (msno) находится на вертикальной оси.

Мне удалось решить эту проблему, добавив оператор if, чтобы проверить, является ли 1-й столбец транзакцией «date_date», и если это не так, я транспонирую его, но я ищу более чистый способ.

if df.columns.values[0] != 'transaction_date':  
    df =df.T



trans_train.loc['++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=',['transaction_date','membership_expire_date']]

Серия для нескольких результатов:

msno    transaction_date    membership_expire_date
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-03-20  2016-04-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-04-20  2016-05-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-05-20  2016-06-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-06-20  2016-07-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-07-20  2016-08-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-08-20  2016-09-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-09-20  2016-10-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-10-20  2016-11-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-11-20  2016-12-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2016-12-20  2017-01-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2017-01-20  2017-02-20
++0/NopttBsaAn6qHZA2AWWrDg7Me7UOMs1vsyo4tSI=    2017-02-20  2017-03-20

Ряд, который я получаю за одну транзакцию, таков:

++096narOxHnDPtbtUtB4WDqDy8EJacQypdqDYBHmmY=
transaction_date    2016-11-26 00:00:00
membership_expire_date  2016-12-03 00:00:00

Я хотел бы получить ниже, но без использования условия:

msno    transaction_date    membership_expire_date
++096narOxHnDPtbtUtB4WDqDy8EJacQypdqDYBHmmY=  2016-11-26 00:00:00  2016-12-03 00:00:00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...