Преобразование списка в dataframe в pandas [duplicate]

использовать метод расширения Cast ()

so:

  class Program {static void Main (string [] args) {Cat cat = new Cat ();  cat.Play (новый список & lt; Cat & gt; (). Cast & lt; Animal & gt; ());  }}  

Причиной этого является b / c .net 3.5 не поддерживает ковариацию, но 4.0 делает:)

51
задан Whitebeard 7 September 2015 в 18:13
поделиться

3 ответа

Учитывая, что все кадры данных имеют одинаковые столбцы, вы можете просто concat их:

import pandas as pd
df = pd.concat(list_of_dataframes)
89
ответ дан DeepSpace 16 August 2018 в 10:22
поделиться
  • 1
    если у них нет одинаковых столбцов, вы можете сначала наложить их на dict, а затем использовать from_dict - см. ниже – meyerson 29 June 2016 в 13:10
  • 2
    если вы хотите добавить столбцы, не забудьте добавить аргумент axis = 1 – ford prefect 26 July 2017 в 23:56
  • 3
    Я думаю, даже если некоторые data.frame не имеют одинаковых столбцов, тогда NaN будет вставлен без ошибки бросания в новой версии pandas – joel.wilson 3 February 2018 в 13:29

Вы также можете сделать это с функциональным программированием:

reduce(lambda df1, df2: df1.merge(df2, "outer"), mydfs)
0
ответ дан Jay Wong 16 August 2018 в 10:22
поделиться

Если в числовых кадре НЕ все одинаковые столбцы, попробуйте следующее:

   df = pd.DataFrame.from_dict(map(dict,df_list))
4
ответ дан meyerson 16 August 2018 в 10:22
поделиться
  • 1
    Это решение не работает для меня на Python 3.6.5 / Pandas v0.23.0. Это ошибки с TypeError: data argument can't be an iterator. Сначала преобразование в list (для имитации Python 2.7) приводит к неожиданным результатам. – jpp 16 July 2018 в 22:59
Другие вопросы по тегам:

Похожие вопросы: