我是Python的新手,但不知怎的,我成功地編譯了一段代碼,在一個csv檔案上運行ADF和Mann-Kendall測驗。我實際上想要的是提示用戶加載一個csv檔案。考慮到該檔案有兩列;第一列是日期,第二列是數值。一旦csv檔案被加載,ADF和M-K測驗必須應用于第二列,并顯示相應的結果。
import pandas as pd
Table = pd.read_csv('DRIVE LINK')
表.形狀
#Total null cells in each column。
Table.isnull().sum()
#define function for ADF test[/span]。
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'/span>)
dfoutput = pd. 系列(dftest[0: 4], index=['Test Statistic','p-value','#Lags Used', 'Number of Observations Used'] )
for key,value in dftest[4].items()。
dfoutput['臨界值(%s)'%key] = value
print (dfoutput)
#apply adf test on the series[/span]。
adf_test(Table.iloc[:,1] )
pip 安裝 pymannkendall
#perform Mann-Kendall Trend Test[/span]。
import pymannkendall as mk
mk.original_test(Table.iloc[:,1] )
我在谷歌搜索時得到了這個代碼。但我不能把它和我的代碼聯系起來。
from google.colab import files
uploaded = files.upload()
不管檔案名是什么,一旦用戶上傳了一個csv,就應該進行這兩個測驗。有什么方法可以做到這一點嗎? 謝謝。
uj5u.com熱心網友回復:
你必須從files.upload呼叫的回傳值中提取檔案名。這里有一些代碼,應該可以為你做到這一點。請注意,你可以用file.upload上傳多個檔案,所以在這種情況下,它可能不會像你預期的那樣作業。
import io
import pandas as pd
from google.colab import files
print("選擇單個檔案")
uploaded = files.upload()
filename=[key for key in uploaded.key()] [0]
Table = pd.read_csv(io.BytesIO(upload[filename]))
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/315131.html
標籤:
上一篇:在tkinter中管理框架
