
大數據文摘出品 來源:medium 編譯:張大筆茹 十年前,你說你是做數據的,大家的反應就是——用Excel做做表。 現在,要成為一個合格的數據分析師,你說你不會Python,大概率會被江湖人士恥笑。 Medium上一位博主就分享了他一步步用Python替換掉十年前的“老情人”Excel的過程,一起來學習一下吧! 在Excel成為我的“初戀”十年之后,是時候找一個更好的“另一半”了,在這個技術日新月異的時代,更好更薄更輕更快處理數據的選擇就在身邊!我希望用Python取代幾乎所有的excel功能,無論是簡單的篩選還是相對復雜的創建并分析數據和數組。我將展示從簡單到復雜的計算任務。強烈建議你跟著我一起做這些步驟,以便更好地理解它們。擬寫此文的靈感來自于人人可訪問的免費教程網站,我曾認真閱讀并一直嚴格遵守這篇Python文檔,鏈接如下,相信你也會從該網站中找到很多干貨。https://github.com/ank0409/Ditching-Excel-for-Python一、將excel文件導入Panda DataFrame初始步驟是將excel文件導入DataFrame,以便我們執行所有任務。我將演示支持xls和xlsx文件擴展名的Pandas的read_excel方法。read_csv與read_excel相同,就不做深入討論了,但我會分享一個例子。盡管read_excel方法包含數百萬個參數,但我們只討論那些在日常操作中最常見的那些。我們使用Iris樣本數據集,出于教育目的,該數據集可在線免費使用。請按照以下鏈接下載數據,并將其放在與存儲Python文件的同一文件夾中。https://archive.ics./ml/datasets/iris pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, parse_cols=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)
2、一些重要的Pandas read_excel選項如果默認使用本地文件的路徑,用“\”表示,接受用“/”表示,更改斜杠可以將文件添加到Python文件所在的文件夾中。如果需要有關上述內容的詳細說明,請參閱以下文章。https:///@ageitgey/Python-3-quick-tip-the-easy-way-to-deal-with-file-paths-on-windows-mac-and-linux-11a072b58d5f 默認情況下,文件中的第一個工作表將按原樣導入到數據框中。使用sheet_name參數,可以明確要導入的工作表。文件中的第一個表默認值為0。可以用工作表的名字,或一個整數值來當作工作表的index。除非明確提到,否則索引列會添加到DataFrame中,默認情況下從0開始。使用index_col參數可以操作數據框中的索引列,如果將值0設置為none,它將使用第一列作為index。默認的read_excel參數假定第一行是列表名稱,會自動合并為DataFrame中的列標簽。使用skiprows和header之類的函數,我們可以操縱導入的DataFrame的行為。使用usecols參數,可以指定是否在DataFrame中導入特定的列。這只是個開始,并不是所有的功能,但已足夠你“嘗鮮”了。現在我們有了DataFrame,可以從多個角度查看數據了。Pandas有很多我們可以使用的功能,接下來將使用其中一些來看下我們的數據集。查看第一行或最后五行。默認值為5,也可以自定義參數。描述性報告是關于數據子集和聚合的,當需要初步了解數據時,通常使用過濾器來查看較小的數據集或特定的列,以便更好的理解數據。Python提供了許多不同的方法來對DataFrame進行分割,我們將使用它們中的幾個來了解它是如何工作的。這里使用的方法是loc函數,其中我們可以指定以冒號分隔的起始行和結束行。注意,索引從0開始而不是1。輸入應為列一個表,此方法相當于excel中的高級過濾器功能:如果想要用特定值查看整個DataFrame,可以使用drop_duplicates函數:描述性統計,總結數據集分布的集中趨勢,分散程度和正態分布程度,不包括NaN值:誰會不喜歡Excel中的數據透視表呢?它是分析數據的最佳方式,可以快速瀏覽信息,使用超級簡單的界面分割數據,繪制圖表,添加計算列等。現在沒有了工作界面,必須用編寫代碼的方式來輸出結果,且沒有生成圖表功能,但需要我們充分理解數據透視表的精華。簡單的數據透視表,顯示SepalWidth的總和,行列中的SepalLength和列標簽中的名稱。可以使用dictionary函數進行單獨計算,也可以多次計算值:Excel中的vlookup是一個神奇的功能,是每個人在學習如何求和之前就想要學習的。會用vlookup是很迷人的,因為輸出結果時像變魔術一樣。可以非常自信地說它是電子表格上計算的每個數據的支柱。由于Pandas中沒有“Vlookup”函數,因此Merge用與SQL相同的備用函數。有四種合并選項:left——使用左側DataFrame中的共享列并匹配右側DataFrame,N/A為NaN; right——使用右側DataFrame中的共享列并匹配左側DataFrame,N/A為NaN; inner——僅顯示兩個共享列重疊的數據。默認方法; outer——當左側或右側DataFrame中存在匹配時,返回所有記錄。 以上可能不是解釋這個概念的最好例子,但原理是一樣的。
|