我想导入一个名为feature.py的python文件并在其中调用函数,所以我做了'from feature import *'。
from feature import *
在feature.py中,我将pandas导入为pd,并在主python文件中定义了要调用的函数。
import pandas as pd
# time features
def add_time_features(df):
df["date"] = pd.to_datetime(data.Timestamp, unit='s').dt.date
df["month"] = pd.to_datetime(data.Timestamp, unit='s').dt.month
df["weekday"] = pd.to_datetime(data.Timestamp, unit='s').dt.weekday_name
df["hour"] = pd.to_datetime(data.Timestamp, unit='s').dt.hour
但是,当我运行主python程序并调用该函数时,出现错误消息,指出未定义pd。
我以为我确实通过在主文件和feature.py中都使用“将pandas作为pd导入”来定义pd。 Bu它不起作用。那么正确的方法是什么?
[当您以“导入文件名”的形式从另一个文件导入代码时,它的功能与您以“从文件名的导入*”形式从文件中提取函数/类的功能不同。
您显示的代码似乎正在从要导入的文件中获取功能,而没有实际运行import语句。一个简单的解决方法应该是在主文件中放入“将pandas作为pd导入”语句。
基本上,您导入的功能以与主文件中写入的功能相似/相同的方式运行,因此可能遵循相同的规则并可以访问相同的导入语句。
有帮助吗?