Как я могу перенести эти данные, чтобы получить что-то похожее на - PullRequest
1 голос
/ 08 января 2020

У меня есть датафрейм, подобный этому:

date_of_transaction entity_short_name   tPricestock
4475    3/29/2019   VGF                   2.6
4476    06/07/2019  VGF                   2.6
4477    9/24/2019   VGF                   2.8
4478    11/15/2019  VGF                   2.8
4479    11/21/2019  VGF                   2.8

Как я могу транспонировать эти списки для получения этого:

            VGF
DATE    
2019-11-25  2.6
2019-11-26  2.6
2019-11-27  2.8
2019-11-28  2.8
2019-11-29  2.8

1 Ответ

0 голосов
/ 08 января 2020

делая некоторые предположения, это код:

import pandas as pd
date_of_transaction = ['3/29/2019','06/07/2019','9/24/2019','11/15/2019','11/15/2019','11/15/2019']
a = pd.DataFrame(date_of_transaction, columns = ['date_of_transaction'])
a['entity_short_name'] = ['VGF','VGF','VGF','VGF','OTHER','OTHER']
a['tPricestock']       = [2.6,2.6,2.6,2.6,2.6,2.6]

#select the rows
VGF = a[a['entity_short_name']=='VGF']

#split data in month,day,year
VGF[['MM','DD','YYYY']] = VGF.date_of_transaction.apply(lambda x: pd.Series(str(x).split("/"))) 

#formata D to DD
for i in range(len(VGF['MM'])):
    if len((VGF['MM'].iloc[i])) <2:
        VGF['MM'].iloc[i] = '0'+VGF['MM'].iloc[i]

#format date the way you want        
VGF['DATE'] = VGF['YYYY']+'-'+VGF['MM']+'-'+VGF['DD']
VGF['VGF']  = VGF['tPricestock']
VGF = VGF[['DATE','VGF']]

вывод:

Out[58]: 
         DATE  VGF
0  2019-03-29  2.6
1  2019-06-07  2.6
2  2019-09-24  2.6
3  2019-11-15  2.6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...