web-dev-qa-db-fra.com

Liste des tuples en conversion DataFrame

J'ai une liste de tuples similaire à celle ci-dessous:

[(date1, ticker1, value1),(date1, ticker1, value2),(date1, ticker1, value3)]

Je veux le convertir en un DataFrame avec index=date1, columns=ticker1, et values = values. Quelle est la meilleure façon de procéder?

ÉDITER:

Mon objectif final est de créer un DataFrame avec un datetimeindex égal à date1 avec des valeurs dans une colonne intitulée 'ticker':

df = pd.DataFrame(tuples, index=date1)

À l'heure actuelle, le tuple est généré avec les éléments suivants:

tuples=list(Zip(*prc_path))

où prc_path est un numpy.ndarray de forme (1000,1)

23
molivizzy

Je pense que c'est ce que vous voulez:

>>> data = [('2013-01-16', 'AAPL', 1),
            ('2013-01-16', 'GOOG', 1.5),
            ('2013-01-17', 'GOOG', 2),
            ('2013-01-17', 'MSFT', 4),
            ('2013-01-18', 'GOOG', 3),
            ('2013-01-18', 'MSFT', 3)]

>>> df = pd.DataFrame(data, columns=['date', 'ticker', 'value'])
>>> df
         date ticker  value
0  2013-01-16   AAPL    1.0
1  2013-01-16   GOOG    1.5
2  2013-01-17   GOOG    2.0
3  2013-01-17   MSFT    4.0
4  2013-01-18   GOOG    3.0
5  2013-01-18   MSFT    3.0

>>> df.pivot('date', 'ticker', 'value')
ticker      AAPL  GOOG  MSFT
date                        
2013-01-16     1   1.5   NaN
2013-01-17   NaN   2.0     4
2013-01-18   NaN   3.0     3
37
elyase