从嵌套列表中删除空列表

时间:2021-06-03 13:51:17

标签: python pandas list dataframe series

所以我有一个函数,它返回一个包含空列表或系列的列表。我遍历一个股票行情列表,对于每个股票,它将返回一个空列表或系列并将它们存储在一个列表中。

但是,在遍历完所有内容后,我希望能够删除空列表,并且列表中只包含系列。

def get_revenue_growth(ticker) -> pd.DataFrame:

income_statement_annually = fa.financial_statement_growth(ticker, FA_API_KEY, period="annual")

if  'revenueGrowth' in income_statement_annually.index:
    
    revenue_growth = income_statement_annually.loc['revenueGrowth']
    exchange_df = pd.DataFrame({ticker : revenue_growth})        
    exchange_df.index = pd.to_datetime(pd.Series(exchange_df.index))
    exchange_df = exchange_df[exchange_df.index.year >= 1998]
    exchange_df = exchange_df.sort_index()
    
    print('Getting Revenue Growth for ' + ticker + ': Passed')
    
else:
    print('Getting Revenue Growth for ' + ticker + ': Failed')
    
    exchange_df = []
    
return exchange_df

这是我通过这个调用的函数:

revenue_growth = [get_revenue_growth(t) for t in tickers]

Here is what the output looks like...

所以我想要实现的是删除所有空列表。我试过这个 list2 = [x for x in list1 if x != []] 但没有用。

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式简单地解决它:

list2 = [x for x in list1 if len(x)>0]

答案 1 :(得分:1)

看看这个例子 -

mylist = [] 

if len(mylist) == 0:
    del mylist # Deletes the Empty List
else:
    # Do Something else

为您的程序修改此部分