[英]Name Error when getting variable from another define function to be read in another define function in python3
I'm not sure how to solve the problem I have encountered, how do I solve this? 我不确定如何解决遇到的问题,该如何解决?
My python code I'm using: 我正在使用的python代码:
import plotly
import plotly.plotly as py
import plotly.graph_objs as go
import plotly.figure_factory as FF
import numpy as np
from datetime import date,time,datetime
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
def readcsv(x): #def function to read csv files based on input below
Data = pd.read_csv(x, parse_dates=['Time_Stamp'], infer_datetime_format=True)
Data['Date'] = Data.Time_Stamp.dt.date
Data['Time'] = Data.Time_Stamp.dt.time
Data['Time_Stamp'] = pd.to_datetime(Data['Time_Stamp'])
print(Data[1:6])
readcsv('MainD.csv')
def selTimestamprange(dtStart, dtEnd, Data):
timestamprange = (Data['Time_Stamp'] > dtStart) & (Data['Time_Stamp'] <= dtEnd)
TimeRange = Data.loc(timestamprange)
TimeRange.plot(x='Time_stamp', y='AC_Input_Current', style='-', color='black')
date_string_start = '2017-06-13 16:00:00'
date_string_end = '2017-06-13 16:40:00'
dtStart = datetime.strptime(date_string_start, '%Y-%m-%d %H:%M:%S')
dtEnd = datetime.strptime(date_string_end,'%Y-%m-%d %H:%M:%S')
selTimestamprange(dtStart, dtEnd, Data)
My Error: 我的错误:
NameError Traceback (most recent call last) in () 10 #print(type(dtStart)) <-- check if dtStart has been converted to datetime type 11 ---> 12 selTimestamprange(dtStart, dtEnd, Data)
NameError Traceback((last last call last)in()10 #print(type(dtStart))<-检查dtStart是否已转换为日期时间类型11 ---> 12 selTimestamprange(dtStart,dtEnd,Data)
NameError: name 'Data' is not defined
NameError:名称“数据”未定义
The Data
is local variable which is only available in function readcsv(x)
, you could return it in the function and assign the result to variable Data
, then you can use the variable Data
. Data
是局部变量,仅在函数readcsv(x)
可用,您可以在函数readcsv(x)
其返回并将结果分配给变量Data
,然后可以使用变量Data
。 Like this: 像这样:
def readcsv(x): #def function to read csv files based on input below
Data = pd.read_csv(x, parse_dates=['Time_Stamp'], infer_datetime_format=True)
Data['Date'] = Data.Time_Stamp.dt.date
Data['Time'] = Data.Time_Stamp.dt.time
Data['Time_Stamp'] = pd.to_datetime(Data['Time_Stamp'])
print(Data[1:6])
return Data
Data = readcsv('MainD.csv')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.