提示用户在 google colab 中加载 csv
prompting the user to load a csv in google colab
我是 python 的新手,但不知何故设法将代码编译为 运行 CSV 文件上的 ADF 和 Mann-Kendall 测试。我真正想要的是提示用户加载一个 csv 文件。考虑文件有两列;首先是日期,其次是值。加载 csv 后,必须对第二列应用 ADF 和 M-K 测试并显示相应的结果。
import pandas as pd
Table = pd.read_csv('DRIVE LINK')
Table.shape
#Total null cells in each column
Table.isnull().sum()
#define function for ADF test
from statsmodels.tsa.stattools import adfuller
def adf_test(timeseries):
#Perform Dickey-Fuller test:
print ('Results of Dickey-Fuller Test:')
dftest = adfuller(timeseries, autolag='AIC')
dfoutput = pd.Series(dftest[0:4], index=['Test Statistic','p-value','#Lags Used','Number of Observations Used'])
for key,value in dftest[4].items():
dfoutput['Critical Value (%s)'%key] = value
print (dfoutput)
#apply adf test on the series
adf_test(Table.iloc[:,1])
pip install pymannkendall
#perform Mann-Kendall Trend Test
import pymannkendall as mk
mk.original_test(Table.iloc[:,1])
我在 google 中搜索时得到了这段代码。但是我无法用我的代码 link 它。
from google.colab import files
uploaded = files.upload()
无论文件名是什么,一旦用户上传了一个csv,这两个测试都应该进行。有没有办法做到这一点 ?
提前致谢。
您必须从 files.upload
调用的 return 值中提取文件名。这是一些应该为您执行此操作的代码。请注意,您可以使用 file.upload
上传多个文件,因此在这种情况下可能无法正常工作。
import io
import pandas as pd
from google.colab import files
print("Choose a single file")
uploaded = files.upload()
filename=[key for key in uploaded.keys()][0]
Table = pd.read_csv(io.BytesIO(uploaded[filename]))
我是 python 的新手,但不知何故设法将代码编译为 运行 CSV 文件上的 ADF 和 Mann-Kendall 测试。我真正想要的是提示用户加载一个 csv 文件。考虑文件有两列;首先是日期,其次是值。加载 csv 后,必须对第二列应用 ADF 和 M-K 测试并显示相应的结果。
import pandas as pd
Table = pd.read_csv('DRIVE LINK')
Table.shape
#Total null cells in each column
Table.isnull().sum()
#define function for ADF test
from statsmodels.tsa.stattools import adfuller
def adf_test(timeseries):
#Perform Dickey-Fuller test:
print ('Results of Dickey-Fuller Test:')
dftest = adfuller(timeseries, autolag='AIC')
dfoutput = pd.Series(dftest[0:4], index=['Test Statistic','p-value','#Lags Used','Number of Observations Used'])
for key,value in dftest[4].items():
dfoutput['Critical Value (%s)'%key] = value
print (dfoutput)
#apply adf test on the series
adf_test(Table.iloc[:,1])
pip install pymannkendall
#perform Mann-Kendall Trend Test
import pymannkendall as mk
mk.original_test(Table.iloc[:,1])
我在 google 中搜索时得到了这段代码。但是我无法用我的代码 link 它。
from google.colab import files
uploaded = files.upload()
无论文件名是什么,一旦用户上传了一个csv,这两个测试都应该进行。有没有办法做到这一点 ? 提前致谢。
您必须从 files.upload
调用的 return 值中提取文件名。这是一些应该为您执行此操作的代码。请注意,您可以使用 file.upload
上传多个文件,因此在这种情况下可能无法正常工作。
import io
import pandas as pd
from google.colab import files
print("Choose a single file")
uploaded = files.upload()
filename=[key for key in uploaded.keys()][0]
Table = pd.read_csv(io.BytesIO(uploaded[filename]))