Python 将多个数据帧追加到一个数据帧中

Python 将多个数据帧追加到一个数据帧中,python,pandas,dataframe,finance,yahoo,Python,Pandas,Dataframe,Finance,Yahoo,我正在运行一个循环,为一个股票代码列表提取财务信息,每个股票代码输出单独的财务数据帧(如下图所示),这不是我的目标。下面是我正在运行的代码- def financefetch(ticker): yahoo_financials = YahooFinancials(ticker) balance_sheet_data_qt = yahoo_financials.get_financial_stmts('quarterly', 'balance') dfItem = pd.

我正在运行一个循环,为一个股票代码列表提取财务信息,每个股票代码输出单独的财务数据帧(如下图所示),这不是我的目标。下面是我正在运行的代码-

def financefetch(ticker):
    yahoo_financials = YahooFinancials(ticker)
    balance_sheet_data_qt = yahoo_financials.get_financial_stmts('quarterly', 'balance')
    dfItem =  pd.DataFrame.from_records(balance_sheet_data_qt)

dataframe_entries = list()
for result in balance_sheet_data_qt.get('balanceSheetHistoryQuarterly').get(ticker): 
    extracted_date = list(result)[0]
    extracted_ticker = ticker
    dataframe_row = list(result.values())[0]
    dataframe_row['date'] = extracted_date
    dataframe_row['ticker'] = extracted_ticker
    dataframe_entries.append(dataframe_row)
df = pd.DataFrame(dataframe_entries).set_index('date','ticker')
print(df)

return(df)

tickerdict = {}
tickerlist = ['AAPL','GOOG', 'MU']
for x in tickerlist:
    tickerdict[f'df_{x}'] = financefetch(x)
我试图有一个数据框,其中包含我的所有数据的股票上市

                accountsPayable         cash  commonStock  ...     totalLiab  totalStockholderEquity  treasuryStock
date                                                   ...                                                     
2019-12-28      45111000000  39771000000  45972000000  ...  251087000000             89531000000     -418000000
2019-09-28      46236000000  48844000000  45174000000  ...  248028000000             90488000000     -584000000
2019-06-29      29115000000  50530000000  43371000000  ...  225783000000             96456000000     -639000000
2019-03-30      30443000000  37988000000  42801000000  ...  236138000000            105860000000    -1499000000

[4 rows x 24 columns]
            accountsPayable         cash  commonStock  ...    totalLiab  totalStockholderEquity  treasuryStock
date                                                   ...                                                    
2019-12-31       5561000000  18498000000  50552000000  ...  74467000000            201442000000    -1232000000
2019-09-30       4142000000  16032000000  49040000000  ...  68075000000            194969000000    -1196000000
2019-06-30       3925000000  16587000000  47937000000  ...  64909000000            192192000000    -1091000000
2019-03-31       3710000000  19148000000  46532000000  ...  61877000000            183472000000    -1780000000

[4 rows x 26 columns]
            accountsPayable  capitalSurplus        cash  ...    totalLiab  totalStockholderEquity  treasuryStock
date                                                     ...                                                    
2019-11-28       1879000000      8428000000  6969000000  ...  13051000000             36500000000    -3265000000
2019-08-29       1677000000      8214000000  7152000000  ...  12019000000             35881000000    -3212000000
2019-05-30       1336000000      8217000000  5157000000  ...  10000000000             35323000000    -3213000000
2019-02-28       1523000000      8143000000  6353000000  ...  11960000000             34567000000    -3058000000

[4 rows x 29 columns]
            accountsPayable  capitalSurplus         cash  ...    totalLiab  totalStockholderEquity  treasuryStock
date                                                      ...                                                    
2019-12-31       1363000000     45851000000  19079000000  ...  32322000000            101054000000     -489000000
2019-09-30        860000000     45059000000  15979000000  ...  30419000000             93999000000     -849000000
2019-06-30        655000000     44277000000  13877000000  ...  28244000000             88762000000     -483000000
2019-03-31        604000000     43533000000  11076000000  ...  22961000000             86516000000     -781000000

[4 rows x 23 columns]

不是将每个数据帧添加到dict,而是迭代地将它们合并在一起

tickerdf=pd.DataFrame()
tickerlist=['AAPL','GOOG','MU']
对于股票列表中的x:
tickerdf=pd.concat([tickerdf,financefetch(x)])
PS

这一行:

df=pd.DataFrame(DataFrame\u条目)。设置索引('date','ticker')

应该是:


df=pd.DataFrame(DataFrame\u条目)。设置索引(['date','ticker')

而不是将每个数据帧添加到dict,而是将它们迭代地合并在一起

tickerdf=pd.DataFrame()
tickerlist=['AAPL','GOOG','MU']
对于股票列表中的x:
tickerdf=pd.concat([tickerdf,financefetch(x)])
PS

这一行:

df=pd.DataFrame(DataFrame\u条目)。设置索引('date','ticker')

应该是:

df=pd.DataFrame(DataFrame\u条目)。设置索引(['date','ticker'))