Verwandeln Liste von Tupeln in pandas.DataFrame

Juliano Oliveira Hausen von Cos:

Ich habe drei Listen von Tupeln und das erste Element dieser Listen ist ein Jahr, wie unten gezeigt.

list1 = [
    ('2010', 1783675.0), ('2011', 1815815.0), ('2012', 1633258.0), ('2013', 1694062.0), ('2014', 1906527.0), 
    ('2015', 1908661.0), ('2016', 2492979.0), ('2017', 2846997.0), ('2018', 2930313.0), ('2019', 2654724.0)
]

list2 = [
    ('2010', 302816.0), ('2011', 229549.0), ('2012', 323063.0), ('2013', 285066.0), ('2014', 282003.0), 
    ('2015', 354500.0), ('2016', 275383.0), ('2017', 322074.0), ('2018', 366909.0), ('2019', 297942.0)
]

list3 =[
    ('2010', 149036.0), ('2011', 144112.0), ('2012', 173944.0), ('2013', 205724.0), ('2014', 214019.0), 
    ('2015', 261462.0), ('2016', 260646.0), ('2017', 279267.0), ('2018', 288120.0), ('2019', 277106.0)
]

Ich möchte ein pandas.DataFrame Verwendung dieser Listen erstellen, in dem Jahr als Zeilenindex Einstellung:

          list1     list2     list3
2010  1783675.0  302816.0  149036.0
2011  1815815.0  229549.0  144112.0
2012  1633258.0  323063.0  173944.0
2013  1694062.0  285066.0  205724.0
2014  1906527.0  282003.0  214019.0
2015  1908661.0  354500.0  261462.0
2016  2492979.0  275383.0  260646.0
2017  2846997.0  322074.0  279267.0
2018  2930313.0  366909.0  288120.0
2019  2654724.0  297942.0  277106.0
Oliver.R:

Sie können die Listen durchlaufen und einen Wörterbuch im richtigen Format erstellen, und dann drehen, die in einen Datenrahmen. Beachten Sie, dass diese geordnete Listen geht davon aus, mit den gleichen Jahren in jeder Liste.

import pandas as pd

list1 = [('2010', 1783675.0), ('2011', 1815815.0), ('2012', 1633258.0),
    ('2013', 1694062.0), ('2014', 1906527.0), ('2015', 1908661.0),
    ('2016', 2492979.0), ('2017', 2846997.0), ('2018', 2930313.0),
    ('2019', 2654724.0)]

list2 = [('2010', 302816.0), ('2011', 229549.0), ('2012', 323063.0),
    ('2013', 285066.0), ('2014', 282003.0), ('2015', 354500.0),
    ('2016', 275383.0), ('2017', 322074.0), ('2018', 366909.0),
    ('2019', 297942.0)]

list3 =[('2010', 149036.0), ('2011', 144112.0), ('2012', 173944.0),
    ('2013', 205724.0), ('2014', 214019.0), ('2015', 261462.0),
    ('2016', 260646.0), ('2017', 279267.0), ('2018', 288120.0),
    ('2019', 277106.0)]

df_dict = {}
years = [el[0] for el in list1]

df_dict["list1"] = [el[1] for el in list1]
df_dict["list2"] = [el[1] for el in list2]
df_dict["list3"] = [el[1] for el in list3]

df = pd.DataFrame(df_dict, index=years)

Ich denke du magst

Origin http://43.154.161.224:23101/article/api/json?id=351557&siteId=1
Empfohlen
Rangfolge