[英]python pandas - Append columns to an empty dataframe with a for loop
[英]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.