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)