如何在 Pandas 中将数据帧从一个模块导入另一个模块?

How to import a dataframe from one module to another in Pandas?

我想重复使用另一个模块中数据框中的一些列。

我想要类似的东西

file1.py

A   B
25  Hello
30  How are you

file2.py

A   B                 C
25  Hello            Hola
30  How are you      Como estas

我试过这样做,但没有用。

file1.py

import pandas as pd
def cr():
    data = {'state': ['Ohio','Ohio','Ohio','Nevada','Nevada'],
            'year': [2000,2001,2002,2001,2002],
            'pop': [1.5,1.7,3.6,2.4,2.9]}
    df = pd.DataFrame(data)
    return df

输出:

    state   year    pop
0   Ohio    2000    1.5
1   Ohio    2001    1.7
2   Ohio    2002    3.6
3   Nevada  2001    2.4
4   Nevada  2002    2.9

file2.py

from file1 import cr

输出

ImportError: cannot import name 'cr' from 'file1'

实际上看起来不错。如果您尝试以下

# file1.py          
def foo():
    print("foo")

# file2.py 
from file1 import foo

foo()

然后 运行 python file2.pyfile1.pyfile2.py 旁边的文件夹中,程序实际上应该打印 foo.

但这仅在您在 file1.pyfile2.py 所在的文件夹中执行 python 时有效。

file1.py

import pandas as pd
def cr():
    data = {'state': ['Ohio','Ohio','Ohio','Nevada','Nevada'],
            'year': [2000,2001,2002,2001,2002],
            'pop': [1.5,1.7,3.6,2.4,2.9]}    
    return data

file2.py

    import file1
    import pandas as pd
    file1.cr()
    df = pd.DataFrame(file1.cr())