从另一个python脚本导入数据帧

时间:2018-03-06 01:53:53

标签: python pandas

我有一个充满数据框的脚本:

#df.py
df1 = pd.DataFrame({'x': [1, 2, 3]})
df2 = pd.DataFrame({'x': [1, 2, 3]})
df3 = pd.DataFrame({'x': [1, 2, 3]})
.
.
dfn = pd.DataFrame({'x': [1, 2, 3]})

此外,我在此脚本中有一个函数,它连接所有以前缀开头的dfs:

def conc_all(prefix='df'):
    dfs = [df for name, df in globals().items() if name.startswith(prefix)
           and isinstance(df, (pd.Series, pd.DataFrame))]
    return pd.concat(dfs, axis =1)

在我的第二个脚本中,我希望从df脚本导入连接的dfs:

#second.py
from df import *
all_dfs = conc_all()

但它导致:ValueError: No objects to concatenate

如果我转到dfs.py,请创建dfs并将其与conc_all()连接起来,它的效果非常好。所以,问题必须在导入。

我的目标是在df.py中创建所有dfs,连接它们并将连接的df导入second.py,以使second.py更短更清洁。

0 个答案:

没有答案