<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這個插件竟打通了 Python 和 Excel ,還能自動生成代碼!

          共 6415字,需瀏覽 13分鐘

           ·

          2022-06-02 08:31

          二條:Python 作為小程序后端的三種方法!
          三條:Python 關(guān)于字典的操作,看這個就夠了!

          ↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能

          后臺回復(fù)【大禮包】送你Python自學(xué)大禮包


          加載一個Jupyter插件后,無需寫代碼就能做數(shù)據(jù)分析,還幫你生成相應(yīng)代碼?



          沒錯,只需要加載這個名為Mito的小工具包,用Python做數(shù)據(jù)分析,變得和用Excel一樣簡單:


          介紹

          以 Excel 為代表的電子表格是探索數(shù)據(jù)集的最重要、最具適應(yīng)性的方式之一。它可以幫助對數(shù)據(jù)類型進(jìn)行必要的更改、創(chuàng)建新特征、對數(shù)據(jù)進(jìn)行排序以及從現(xiàn)有特征中創(chuàng)建新特征。

          遵循以上相同的思路,Mito是一個Jupyter-Lab擴(kuò)展和Python庫,它使得在支持GUI的電子表格環(huán)境中操作數(shù)據(jù)變得超級容易。

          Mito的出現(xiàn),像是將Python的強(qiáng)大功能、和Excel的易用性進(jìn)行了結(jié)合。

          只需要掌握Excel的用法,就能使用Python的數(shù)據(jù)分析功能,還能將寫出來的代碼“打包帶走”

          它彌補了Excel在數(shù)據(jù)分析上的幾個缺陷

          • Excel無法做大數(shù)據(jù)分析(大型數(shù)據(jù)集處理得不好)
          • Excel運行緩慢
          • Excel無法輕松創(chuàng)建可重復(fù)流程

          同時,又比SQLPython簡單、直觀。畢竟這些專業(yè)工具對于0基礎(chǔ)初學(xué)者來說,需要至少幾年時間,才能完全上手。

          在本文中,我們將一起學(xué)習(xí):

          1. 如何合理設(shè)置Mito
          2. 如何debug安裝錯誤
          3. 使用 Mito 提供的各種功能
          4. 該庫如何為對數(shù)據(jù)集所做的所有操作生成 Python 等效代碼

          安裝Mito

          Mito 是一個 Python 庫,可以通過 pip 包管理器安裝。它需要 Python 3.6 及以上版本。此外,系統(tǒng)上需要安裝 Nodejs,一個 JavaScript 運行時環(huán)境。

          另外,可以在單獨的環(huán)境(虛擬環(huán)境)中安裝這個包,可以避免一些依賴錯誤。接下來在終端中運行這些命令,完成安裝即可。

          1. 創(chuàng)建環(huán)境

          我正在使用 Conda 創(chuàng)建一個新環(huán)境。你還可以使用 Python“venv”來創(chuàng)建虛擬環(huán)境。

          conda?create?-n?mitoenv?python=3.8

          2. 激活環(huán)境

          conda?activate?mitoenv

          3. 通過pip安裝Mito

          pip?install?mitoinstaller

          4. 運行 Mito 安裝程序

          python?-m?mitoinstaller?install

          此過程將需要一段時間來安裝和設(shè)置 Mito。

          5. 啟動?Jupyter Lab

          jupyter?lab

          報錯解決

          當(dāng)啟動 Jupyter Lab時,可能會遇到如下錯誤:

          .
          .
          .?
          File?"c:userslenovoanaconda3envsmitoenvlibsite-packagesjupyter_corepaths.py",?line?387,?in?win32_restrict_file_to_user
          ????import?win32api
          ImportError:?DLL?load?failed?while?importing?win32api:?The?specified?module?could?not?be?found.

          要修復(fù)此錯誤,只需運行以下命令:

          pip?install?--upgrade?pywin32==225

          如果你遇到其他困難,請隨時在下面發(fā)表評論。我很樂意提供幫助。

          MitoSheets 界面

          在 Jupyter Lab中,創(chuàng)建一個新筆記本并初始化 Mitosheet:

          import?mitosheet
          mitosheet.sheet()

          第一次,系統(tǒng)會提示輸入你的電子郵件地址進(jìn)行注冊:

          填寫完基礎(chǔ)知識后,將被重定向到 GUI 電子表格。接下來我們一起看看這個接口的所有特性,并一起學(xué)習(xí)如何生成 Python 等效代碼。

          加載數(shù)據(jù)集

          要在 MitoSheets 中加載數(shù)據(jù)集,只需單擊導(dǎo)入。有兩個選擇:

          1. 從當(dāng)前文件夾添加文件:這將列出當(dāng)前目錄中的所有 CSV 文件,可以從下拉菜單中選擇文件。
          2. 按文件路徑添加文件:這將僅添加該特定文件。

          如下圖所示

          如果你看下面的單元格,你會發(fā)現(xiàn)Python等效的代碼導(dǎo)入一個數(shù)據(jù)集使用pandas已經(jīng)生成了適當(dāng)?shù)淖⑨?

          這就是 Mito 的魅力,你在 Mitosheet 中執(zhí)行的每個操作都將轉(zhuǎn)換為 Python 等效代碼!接下來我們一起詳細(xì)探討一下 Mito 的所有功能。

          添加和刪除列

          添加列

          就像在 Excel 等電子表格中一樣,你可以添加一個新列,該列可能是從現(xiàn)有列或特征創(chuàng)建的。要在 Mito 中執(zhí)行此操作,只需單擊“Add Col”按鈕。該列將添加到當(dāng)前選定的列旁邊。最初,列名將是一個字母表,列的所有值都為零。

          編輯新列的內(nèi)容

          1. 單擊新列名稱(分配的字母表)
          2. 將彈出側(cè)邊欄菜單,你可以在其中編輯列的名稱。
          3. 要更新該列的內(nèi)容,請單擊該列的任何單元格,然后輸入值。你可以輸入一個常量值,也可以根據(jù)數(shù)據(jù)集的現(xiàn)有特征創(chuàng)建值。如果要從現(xiàn)有列創(chuàng)建值,則直接使用要執(zhí)行的運算符調(diào)用列名。
          4. 新列的數(shù)據(jù)類型根據(jù)分配的值進(jìn)行更改。

          下面的 GIF 演示了上面提到的所有內(nèi)容:

          刪除列

          1. 通過單擊選擇任何列。
          2. 單擊“Del Col”,該特定列將從數(shù)據(jù)集中刪除。

          Python代碼

          在下一個單元格中生成帶有正確注釋的 Python 等效代碼,用于執(zhí)行的操作是:

          #?MITO?CODE?START?(DO?NOT?EDIT)
          from?mitosheet?import?*?#?Import?necessary?functions?from?Mito
          register_analysis('UUID-7bf77d26-84f4-48ed-b389-3f7a3b729753')?#?Let?Mito?know?which?analysis?is?being?run
          #?Imported?edxCourses.csv
          import?pandas?as?pd
          edxCourses_csv?=?pd.read_csv('edxCourses.csv')
          #?Added?column?H?to?edxCourses_csv
          edxCourses_csv.insert(7,?'H',?0)
          #?Renamed?H?to?newCol?in?edxCourses_csv
          edxCourses_csv.rename(columns={"H":?"newCol"},?inplace=True)
          #?Set?newCol?in?edxCourses_csv?to?=coursePrice?+?courseEnrollments
          edxCourses_csv['newCol']?=?edxCourses_csv['coursePrice']?+?edxCourses_csv['courseEnrollments']
          #?Deleted?column?newCol?from?edxCourses_csv
          edxCourses_csv.drop('newCol',?axis=1,?inplace=True)
          #?MITO?CODE?END?(DO?NOT?EDIT)


          創(chuàng)建數(shù)據(jù)透視表

          數(shù)據(jù)透視表是一個重要的 excel 功能,它根據(jù)另一個分類特征匯總數(shù)字變量。要使用 Mito 創(chuàng)建這樣的表,

          1. 單擊“Pivot”并選擇源數(shù)據(jù)集(默認(rèn)加載 CSV)
          2. 選擇數(shù)據(jù)透視表的行、列和值列。還可以為值列選擇聚合函數(shù)。所有下拉選項,如求和、平均值、中值、最小值、最大值、計數(shù)和標(biāo)準(zhǔn)偏差都可用。
          3. 選擇所有必要的字段后,將獲得一個單獨的表,其中包含數(shù)據(jù)透視表的實現(xiàn)。

          下面的 GIF 演示了如何為聚合函數(shù)“均值”創(chuàng)建數(shù)據(jù)透視表:

          Python代碼

          #?MITO?CODE?START?(DO?NOT?EDIT)
          from?mitosheet?import?*?#?Import?necessary?functions?from?Mito
          register_analysis('UUID-a35246c0-e0dc-436b-8667-076d4f08e0c1')?#?Let?Mito?know?which?analysis?is?being?run
          #?Imported?edxCourses.csv
          import?pandas?as?pd
          edxCourses_csv?=?pd.read_csv('edxCourses.csv')
          #?Pivoted?edxCourses_csv?into?df2
          pivot_table?=?edxCourses_csv.pivot_table(
          ????index=['courseOrganization'],
          ????values=['coursePrice'],
          ????aggfunc={'coursePrice':?'mean'}
          )
          #?Reset?the?column?name?and?the?indexes
          df2?=?pivot_table.rename_axis(None,?axis=1).reset_index()
          #?MITO?CODE?END?(DO?NOT?EDIT)

          合并兩個數(shù)據(jù)集

          合并數(shù)據(jù)集是數(shù)據(jù)科學(xué)項目的重要組成部分。通常,數(shù)據(jù)集被劃分到不同的表格中,以增加信息的可訪問性和可讀性。合并 Mitosheets 很容易。

          1. 單擊“Merge”并選擇數(shù)據(jù)源。
          2. 需要指定要對其進(jìn)行合并的鍵。
          3. 也可以從數(shù)據(jù)源中選擇合并后要保留的列。默認(rèn)情況下,所有列都將保留在合并的數(shù)據(jù)集中。


          Python代碼

          #?MITO?CODE?START?(DO?NOT?EDIT)
          from?mitosheet?import?*?#?Import?necessary?functions?from?Mito
          register_analysis('UUID-88ac4a92-062f-4ed8-a55d-729394975740')?#?Let?Mito?know?which?analysis?is?being?run
          #?Imported?Airport-Pets.csv,?Zipcode-Data.csv
          import?pandas?as?pd
          Airport_Pets_csv?=?pd.read_csv('Airport-Pets.csv')
          Zipcode_Data_csv?=?pd.read_csv('Zipcode-Data.csv')
          #?Merged?Airport_Pets_csv?and?Zipcode_Data_csv
          temp_df?=?Zipcode_Data_csv.drop_duplicates(subset='Zip')
          Airport_Pets_csv_tmp?=?Airport_Pets_csv.drop(['State',?'Division'],?axis=1)
          Zipcode_Data_csv_tmp?=?temp_df.drop(['Mean_Income',?'Pop'],?axis=1)
          df3?=?Airport_Pets_csv_tmp.merge(Zipcode_Data_csv_tmp,?left_on=['Zip'],?right_on=['Zip'],?how='left',?suffixes=['_Airport_Pets_csv',?'_Zipcode_Data_csv'])
          #?MITO?CODE?END?(DO?NOT?EDIT)

          修改列數(shù)據(jù)類型、排序和過濾

          你可以更改現(xiàn)有列的數(shù)據(jù)類型,按升序或降序?qū)α羞M(jìn)行排序,或通過邊界條件過濾它們。在 Mito 中的這些都很簡單,可以通過選擇屏幕上的選項通過GUI本身完成。

          1. 單擊所需的列
          2. 將看到一個數(shù)據(jù)類型列表??梢愿鶕?jù)需要從下拉列表中選擇任何數(shù)據(jù)類型,該數(shù)據(jù)類型將應(yīng)用于整個列。
          3. 接下來可以通過選擇提供的選項按升序或降序?qū)?shù)據(jù)進(jìn)行排序。
          4. 還可以使用自定義過濾器過濾數(shù)據(jù)。


          Python代碼

          #?MITO?CODE?START?(DO?NOT?EDIT)
          from?mitosheet?import?*?#?Import?necessary?functions?from?Mito
          register_analysis('UUID-cc414267-d9aa-4017-8890-ee3b7461c15b')?#?Let?Mito?know?which?analysis?is?being?run
          #?Imported?edxCourses.csv
          import?pandas?as?pd
          edxCourses_csv?=?pd.read_csv('edxCourses.csv')
          #?Changed?coursePrice?from?int64?to?float
          edxCourses_csv['coursePrice']?=?edxCourses_csv['coursePrice'].astype('float')
          #?Sorted?coursePrice?in?edxCourses_csv?in?descending?order
          edxCourses_csv?=?edxCourses_csv.sort_values(by='coursePrice',?ascending=False,?na_position='first')
          edxCourses_csv?=?edxCourses_csv.reset_index(drop=True)
          #?Filtered?coursePrice?in?edxCourses_csv
          edxCourses_csv?=?edxCourses_csv[edxCourses_csv['coursePrice']?>=?500]
          edxCourses_csv?=?edxCourses_csv.reset_index(drop=True)
          #?MITO?CODE?END?(DO?NOT?EDIT)

          圖表和統(tǒng)計數(shù)據(jù)生成

          還可以直接在此擴(kuò)展中生成圖形,而無需編寫繪圖邏輯。默認(rèn)情況下,此擴(kuò)展生成的所有圖都是使用 Plotly 制作的。這意味著繪圖是交互式的,可以即時修改。

          注意,這里并沒有像操作列一樣,在下一個單元格中生成圖形代碼(也許開發(fā)人員會在以后的更新中推送此代碼)

          可以使用 Mito 生成兩種類型的圖:

          1. 通過點擊圖表按鈕

          你將看到一個側(cè)邊欄菜單,用于選擇圖形類型和要選擇的相應(yīng)軸。


          2. 通過點擊列名

          當(dāng)你點擊電子表格中的列名稱時,可以看見過濾器和排序選項。但如果你導(dǎo)航到“Summary Stats”,則會根據(jù)變量的類型顯示線圖或條形圖以及變量的摘要。此摘要更改為文本和沒有文本變量。

          保存和回放

          對數(shù)據(jù)集所做的所有轉(zhuǎn)換都可以保存并用于其他類似的數(shù)據(jù)集。這在 Excel 中采用宏或 VBA 的形式。也可以通過這些功能完成相同的操作。


          文件是以Python編寫的,而不是用比較難懂的VBA


          回溯執(zhí)行的所有步驟

          要想重復(fù)上面的步驟的話,也非常容易,Mito自帶“重復(fù)已保存分析步驟”功能,一鍵就能用同樣的方法分析其他數(shù)據(jù)。這個功能是最有趣的。你實際上可以追蹤在 Mitosheet 中應(yīng)用的所有轉(zhuǎn)換。所有操作的列表都帶有適當(dāng)?shù)臉?biāo)題。

          此外,你可以查看該特定步驟!這意味著假設(shè)你更改了一些列,然后刪除了它們。你可以退回到未刪除的時間。

          寫在最后

          到這里,我們一起學(xué)習(xí)了一個新工具“Mito”。用于在 Python 環(huán)境中實現(xiàn)類似電子表格的功能,并為所做的每一步生成等效操作的 Python 代碼。

          項目主頁:
          https://trymito.io/launch



          1. 牛批了,pycharm專業(yè)版軟件,免費永久!

          2. 如何破解“僅三天可見”的朋友圈?

          3. Shodan — 互聯(lián)網(wǎng)上最可怕的搜索引擎





          瀏覽 33
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品激情| 亚洲精品一级二级三级 | 有限公司尻屄视频网站 | 青青草成人视频在线 | 91嫩草影院入 |