91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

妙用集算,掌上觀文

發布時間:2020-07-28 05:41:11 來源:網絡 閱讀:301 作者:raqsoft 欄目:大數據

隨著互聯網的快速發展,大數據時代的到來,數據資源的處理成了各行各業都面臨的熱點問題。除了通過特別專業、特別特別昂貴、特別特別特別復雜的分析平臺來處理特別x4海量的數據外,我們還常常會遇到Excel(xls,xlsx)文件這樣手邊能夠即時獲得的數據文件。使用Excel記錄、處理和交換數據,是因為這個軟件的簡單方便,而如果又需要通過一堆外部調用來進行后續的分析處理,那就會顯得十分笨拙。現在我們就來分享一下如果通過輕量級地使用集算器來分析處理Excel形式的數據來源。

最近,中美貿易戰愈演愈烈,我們也來蹭一下熱度,用一些公開獲得的中美兩國的經濟指標做個簡單對比,模擬一下實戰的場景,找一下掌上觀文,了如指掌,一切盡在掌握的感覺……

下面是我們用到的基礎數據文件Indicators.xlsx,其中,每個工作表是一個國家的各項指標:

妙用集算,掌上觀文

接下來,我們打開集算器了,寫下第一行腳本:

=file(“Indicators.xlsx”)=A1.xlsopen()

然后我們把腳本文件保存到和Indicators.xlsx數據文件一個目錄下,以方便引用相對路徑,名稱就叫indicators.dfx。

說明一下,”=”開頭的格子稱為“計算格”,其中的表達式的計算結果會自動賦予單元格,后面的腳本中就可以用單元格名稱(A1、C25等等)來直接使用了。同時,這里用到了兩個函數。第一個是file()函數,返回一個文件對象。參數”Indicators.xlsx”是文件名,因為這里寫的是相對路徑,所以會在indicators.dfx文件的同級目錄查找。第二個是xlsopen()函數,把文件對象A1當做一個Excel工作簿對象打開。

集算器的好處是可以隨時進行測試,我們就來看一下現在的狀態,點擊“執行”圖標后,結果如下:

妙用集算,掌上觀文

在右側面板,可以看到Excel文件被顯示為一個表格,除去最左側的序號列,第一列是工作表名稱,第二列和第三列分別是工作表的行列數。這三個字段構成了一個數據結構。若干條具有這個數據結構的記錄組成了一個有序的集合,我們稱之為“序表”。如果有序集合中不是具有相同數據結構的記錄,而只是一般的一些數據成員,那么我們就稱之為“序列”,所以說,序表是一種特殊的序列。集算器對于序列和序表提供了大量的函數,能夠支持各種復雜運算,因此,這兩種數據對象在集算器中會經常遇到。

接下來,我們就要讀取工作表的內容了,先看腳本:

=B1.xlsimport@t()

xlsimport()函數是從工作簿對象B1中導入一個工作表。這里用到了@t選項,這個選項會把首行內容作為標題而不是數據(這是Excel表格常見的樣子)。選項需要寫在函數名后,以@開頭,多個選項只需要寫一個@,例如@tx。這里我們沒有使用參數,所以函數會默認導入第一個工作表的全部內容。再點下“執行”看看結果,如下:

妙用集算,掌上觀文

可以看到第一個工作表的內容導入成了一個序表。不過這里我們會遇到第一個問題,每個經濟指標Indicator包括兩行,第二行是指標更新的時間,是我們不關心的內容。集算器的序表要解決這類問題非常簡單,加一個選出函數就可以了:

=B1.xlsimport@t().select(Indicator!=null)

select()是選出函數,參數Indicator!=null是選出條件,也就是根據Indicator列是不是空來決定是不是選擇這一行內容,還是執行看下效果:

妙用集算,掌上觀文

篩選無效(不感興趣)數據的的問題已經解決,繼續研究發現每個指標中的Last是我們需要關心的,因此我們希望只導入Indicator和Last字段。腳本調整如下:

=B1.xlsimport@t(Indicator,Last).select(Indicator!=null)

妙用集算,掌上觀文

這里用到了xlsimport()函數的選出字段參數,”Indicator,Last”就是希望選出的字段名(逗號分隔)。接下來專門導入中國的數據:

=B1.xlsimport@t(Indicator,Last;”China”).select(Indicator!=null)

這里參數又增加了一個”China”,指定了要導入的工作表名稱,與前面的字段參數用”;”隔開。(還可以指定導入的開始行和結束行,因為例子中沒有用到就不介紹了,有興趣的話可以參考教程文檔試驗一下。)執行后就可以看到中國的指標了:

妙用集算,掌上觀文

現在開始進行簡單的比較,把兩個表根據Indicator連接起來:

=A2.join(Indicator,B2:Indicator,Last:’China’)

這里使用到了join()函數,用單元格A2的字段Indicator匹配單元格B2的鍵Indicator,找到相應記錄后拼上B2的Last字段,并使用字段名’China’拼到A2序表中,如下圖:

妙用集算,掌上觀文

然后把美國的Last更名為US:

=A2.join(Indicator,B2:Indicator,Last:’China’).rename(Last:’United States’)

這里的rename()函數用來修改序表的字段名,每個字段修改用”:”映射,Last是曾用名,’United States’為新字段名:

妙用集算,掌上觀文

前面提到過,集算器對于序列和序表提供了很多函數進行計算,用起來十分方便。這里我們就利用sort函數,把中美指標按照差距大小進行排序:

=A3.sort@z(abs(‘United States’-‘China’))

這里用到了sort()函數進行排序,@z選項用來使結果降序排列。參數是用做排序依據的表達式,這里用美中指標進行了簡單的差值,然后用abs()函數計算絕對值。結果如下:

妙用集算,掌上觀文

至此,需要的數據已經整理好了。為了以后可以重復使用,我們把這個比較結果添加到工作簿的一個新工作表’US vs China’中,并寫回到源文件中:

>B1.xlsexport@t(A4;”US vs China”)>A1.xlswrite(B1)

前面提到過“=”開頭的是計算格,這里又遇到了一種”>”開頭的格子,我們稱之為“執行格“。執行格執行后不會自動為單元格賦值。

這里用到的xlsexport()函數用來把序表A4寫到工作簿對象B1中,”:”隔開的第二個參數是工作表名稱。這里同樣用到了選項,這里的@t表示需要導出標題行到工作表中。而xlswrite()函數則把工作簿對象B1寫出到文件對象A1。

妙用集算,掌上觀文

最后,我們打開excel文件查看一下最終結果:

妙用集算,掌上觀文

簡單的幾行腳本,Excel文件多個工作表的導入、連接、排序、導出等功能就輕松實現了。這還只是揭開了集算器的一角,還有更多的功能等待著我們去探索和應用。

完整腳本參考如下:


                                                       A                                                          B
1=file(“Indicators.xlsx”)=A1.xlsopen()
2=B1.xlsimport@t(Indicator,Last).select(Indicator!=null)=B1.xlsimport@t(Indicator,Last;”China”).select(Indicator!=null)
3=A2.join(Indicator,B2:Indicator,Last:’China’).rename(Last:’United States’)
4=A3.sort@z(abs(‘United States’-‘China’))
5>B1.xlsexport@t(A4;”US vs China”)>A1.xlswrite(B1)


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上犹县| 门源| 迁西县| 榆林市| 大丰市| 梨树县| 饶河县| 扎鲁特旗| 清镇市| 汉寿县| 图们市| 宁津县| 清流县| 勐海县| 静乐县| 惠州市| 安达市| 长垣县| 沙雅县| 金坛市| 夹江县| 嘉黎县| 昂仁县| 长治市| 木兰县| 无棣县| 岳西县| 新宁县| 瑞金市| 广宁县| 五大连池市| 福州市| 玛纳斯县| 新乐市| 正宁县| 东源县| 翁源县| 通州区| 蓬安县| 两当县| 尚志市|