从csv中加载数据后打印数据帧



首先,抱歉,如果这是已经回答我一直在寻找答案,但我没有找到一个方法来解决我的问题,谢谢你的惊人的支持。我正在学习Python,我在这里找到的所有信息都非常有用。

#Define a function to import data
def import_data(): 
data = pd.read_csv('Sales_Transactions_Dataset_Weekly.csv',sep=';',index_col=0,header=0) 
df=data.iloc[:,0:52]
return df

我有一个。csv文件与列时间序列(w1,w2,w3…),我想只保留前52列在我的数据框架。为了做到这一点,我使用了这个函数:

之后我不能打印我的DataFrame,我想在我创建的另一个函数中使用它。但是我总是得到相同的错误:
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-159-e6cb9dbb3286> in <module>
1 import_data()
----> 2 print(df)
NameError: name 'df' is not defined 

您只需要设置df

df = import_data()

您的方法很好,但问题是,您的函数返回的数据帧,您没有保存在函数调用后的变量中。学习Python中的Function Return

因此,当您尝试使用变量df(这是局部函数import_data())显示数据框时,您将获得错误'df'未定义,这意味着它无法在当前范围内找到称为df的变量。阅读此链接以了解Python中的作用域

要解决这个问题,只需执行以下命令

df=import_data() 
#import_data will return a dataframe which will be saved in df variable and then you can use this "df" variable to display your data   
df

最新更新