簡體   English   中英

python pandas:如何在循環中返回空數據框?

[英]python pandas: how to return an empty dataframe in a loop?

聚合CSV文件列表的內容,我通常這樣做:

def getContent(fn):
    // do some thing with fn and generate a tempDataFrame
    return tempDataFrame


agg = pd.concat([getContent(x) for x in myListOfFiles])

我覺得這是一個非常整潔的解決方案。

但是,當出現問題並且找不到fn時,我需要返回一個空的tempDataFrame!

在這種情況下,如何返回空的數據框? 誰能分享一些經驗?

謝謝!

由於pd.concat忽略任何None對象,因此只需使您的函數getContent返回None

這種方法的唯一問題是,如果所有項目均為None ,它將拋出異常。 如果要防止這種情況,可以創建一個空的數據框作為帶有所需列的第一個參數:

>>> columns = ['col1', 'col2', 'col3']
>>> pd.concat([pd.DataFrame({k: [] for k in columns}), None, None])
    Empty DataFrame
Columns: [col1, col2, col3]
Index: []

[0 rows x 3 columns]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM