日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python和Excel终于互通了!这个Jupyter插件能自动生成代码并实现数据分析

發(fā)布時(shí)間:2024/5/14 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python和Excel终于互通了!这个Jupyter插件能自动生成代码并实现数据分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    我正在使用 Conda 創(chuàng)建一個(gè)新環(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. 運(yùn)行 Mito 安裝程序

    python -m mitoinstaller install

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

    5. 啟動(dòng) Jupyter Lab

    jupyter lab

    報(bào)錯(cuò)解決

    當(dāng)啟動(dòng) Jupyter Lab時(shí),可能會(huì)遇到如下錯(cuò)誤:

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

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

    pip install --upgrade pywin32==225

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

    MitoSheets 界面

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

    import mitosheet mitosheet.sheet()

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

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

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

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

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

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

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

    添加和刪除列

    添加列

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

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

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

    刪除列

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

    在下一個(gè)單元格中生成帶有正確注釋的 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ù)透視表是一個(gè)重要的 excel 功能,它根據(jù)另一個(gè)分類特征匯總數(shù)字變量。要使用 Mito 創(chuàng)建這樣的表,

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

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

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

  • 單擊“Merge”并選擇數(shù)據(jù)源。
  • 需要指定要對(duì)其進(jìn)行合并的鍵。
  • 也可以從數(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 中的這些都很簡(jiǎn)單,可以通過選擇屏幕上的選項(xiàng)通過GUI本身完成。

  • 單擊所需的列
  • 將看到一個(gè)數(shù)據(jù)類型列表。可以根據(jù)需要從下拉列表中選擇任何數(shù)據(jù)類型,該數(shù)據(jù)類型將應(yīng)用于整個(gè)列。
  • 接下來可以通過選擇提供的選項(xiàng)按升序或降序?qū)?shù)據(jù)進(jìn)行排序。
  • 還可以使用自定義過濾器過濾數(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)計(jì)數(shù)據(jù)生成

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

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

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

    1. 通過點(diǎn)擊圖表按鈕

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

    2. 通過點(diǎn)擊列名

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

    保存和回放

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

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

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

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

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

    寫在最后

    新工具“Mito”,用于在 Python 環(huán)境中實(shí)現(xiàn)類似電子表格的功能,并為所做的每一步生成等效操作的 Python 代碼。

    關(guān)于Python學(xué)習(xí)資料:

    在學(xué)習(xí)python中有任何困難不懂的可以微信掃描下方CSDN官方認(rèn)證二維碼加入python交流學(xué)習(xí)
    多多交流問題,互幫互助,這里有不錯(cuò)的學(xué)習(xí)教程和開發(fā)工具。

    python兼職資源+python全套學(xué)習(xí)資料

    一、Python所有方向的學(xué)習(xí)路線

    Python所有方向的技術(shù)點(diǎn)做的整理,形成各個(gè)領(lǐng)域的知識(shí)點(diǎn)匯總,它的用處就在于,你可以按照上面的知識(shí)點(diǎn)去找對(duì)應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。

    二、Python必備開發(fā)工具

    三、Python視頻合集

    觀看零基礎(chǔ)學(xué)習(xí)視頻,看視頻學(xué)習(xí)是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎(chǔ)到深入,還是很容易入門的。

    四、實(shí)戰(zhàn)案例

    光學(xué)理論是沒用的,要學(xué)會(huì)跟著一起敲,要?jiǎng)邮謱?shí)操,才能將自己的所學(xué)運(yùn)用到實(shí)際當(dāng)中去,這時(shí)候可以搞點(diǎn)實(shí)戰(zhàn)案例來學(xué)習(xí)。

    五、Python練習(xí)題

    檢查學(xué)習(xí)結(jié)果。

    六、面試資料

    我們學(xué)習(xí)Python必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料,并且有阿里大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。


    最后,千萬別辜負(fù)自己當(dāng)時(shí)開始的一腔熱血,一起變強(qiáng)大變優(yōu)秀。

    總結(jié)

    以上是生活随笔為你收集整理的Python和Excel终于互通了!这个Jupyter插件能自动生成代码并实现数据分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。