聚合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!
在这种情况下,如何返回空数据帧?谁能分享一些经验?
谢谢!
答案 0 :(得分:2)
由于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]