中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

有哪些Pandas小竅門

發布時間:2021-10-26 13:49:56 來源:億速云 閱讀:109 作者:iii 欄目:編程語言

本篇內容主要講解“有哪些Pandas小竅門”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“有哪些Pandas小竅門”吧!

用剪貼板創建數據框

眾所周知,Pandas可以使用SQLAlchemy從CSV、JSON甚至直接從數據庫輕松讀取數據,但你知道Pandas還可以從所用操作系統的剪貼板讀取數據嗎?假設有一個包含多個數據表的Excel文件。現在,需要在Python中處理其中一個表的部分數據。你通常會怎么做?

  • 從數據表中復制需要在Python中處理的數據。

  • 將其粘貼到另一個數據表中。

  • 將當前工作表保存到CSV文件中。

  • 獲取新CSV文件的路徑。

  • 在Python中,使用pd.read_csv('path/to/csv/file')將文件讀入一個Pandas數據框架。

當然,其實有種更簡單的方法——pd.read_clipboard()。

  • 復制所需數據區域

  • 在Python中,使用pd.read_clipboard()

有哪些Pandas小竅門

如上所示,如果只是想要將一些數據加載到Pandas中,那么無需CSV或Excel的分離文件。

在該函數中還有一些小竅門。例如,當遇到帶有日期格式的數據時,可能無法正確加載,如下所示:

有哪些Pandas小竅門

訣竅就是,為Pandas注明哪一列是需要解析的日期格式。

df = pd.read_clipboard(parse_dates=['dob'])

有哪些Pandas小竅門

使用測試方法生成虛擬數據

有時可能需要生成一些樣本數據幀,最常見的方法應該是使用NumPy生成一個具有隨機值的數組,然后從該數組生成數據幀。

如果數據需要具有一定的分布,比如正態分布,就必須使用這種方法。但是,大多數情況下,數據是否呈正態分布并不重要,只要有數據就好。在這種情況下,有一種更簡單的方法,即使用pandas.util.testing測試包生成樣本數據幀。

pd.util.testing.makeDataFrame()

數據幀的索引將使用隨機字符串生成,默認情況下將有4列30行。

有哪些Pandas小竅門

如果需要數量相當的行和列,可以將testing.N定義為行數,并將testing.K定義為列數。

pd.util.testing.N = 10 pd.util.testing.K = 5 pd.util.testing.makeDataFrame()

有哪些Pandas小竅門

將數據幀輸出至壓縮文件

有哪些Pandas小竅門

圖源:unsplash

數據幀可以輕松輸出至文件,例如以df.to_csv()、df.to_json()等形式。但有時,為節省磁盤空間或另作它用,需要壓縮文件。例如,作為一名數據工程師,為了將Pandas數據幀輸出到CSV文件中,并將其傳輸到遠程服務器,在發送前需要壓縮文件以節省空間和帶寬。

通常,一貫的解決方案是在所用調度工具(如Airflow或Oozie)中多操作一步,但Pandas可以直接輸出壓縮文件。所以,解決方案幾步就可完成,更加簡潔明了。

先使用第二個小竅門生成隨機數據幀吧:

pd.util.testing.N = 100000 pd.util.testing.K = 5 df = pd.util.testing.makeDataFrame()

有哪些Pandas小竅門

在該例子中,僅需要一個數據框架,其中的值可完全不計。現在,將數據幀保存到一個CSV文件中,并檢查其大小。

import osdf.to_csv('sample.csv')os.path.getsize('sample.csv')

有哪些Pandas小竅門

然后,可以試試將相同的數據幀輸出到壓縮文件中,并檢查文件的大小。

df.to_csv('sample.csv.gz', compression='gzip')os.path.getsize('sample.csv.gz')

有哪些Pandas小竅門

可以看到,壓縮文件小于正常CSV文件的一半。

這可能不是一個好例子,因為該隨機數據幀中沒有任何重復值。在實踐中,如果存在分類值,壓縮率會非常高!順便一提,如你所想,Pandas可以直接將壓縮文件讀入數據幀,無須在文件系統中解壓它。

df = pd.read_csv('sample.csv.gz', compression='gzip', index_col=0)

有哪些Pandas小竅門

gzip是優先選擇,因為它默認存在于大多數Linux系統中。Pandas還支持其它壓縮格式,比如“zip”和“bz2”。

多列獲取DateTime(時間日期)

有哪些Pandas小竅門

圖源:unsplash

在Pandas中,你一定用過pd.to_datetime()方法將某種字符串轉換為DateTime格式,這通常用于處理諸如%Y%m%d的格式字符串。然而,也有時可能會使用下方所示的數據框架作為原始數據。

df = pd.DataFrame({     'year': np.arange(2000, 2012),     'month': np.arange(1, 13),     'day': np.arange(1, 13),     'value': np.random.randn(12) })

有哪些Pandas小竅門

在數據框架中,將年、月、日作為單獨列分隔開來屢見不鮮,可以使用pd.to_dateframe()將其一步轉換為DateTime列。

df['date'] = pd.to_datetime(df[['year', 'month', 'day']])

有哪些Pandas小竅門

到此,相信大家對“有哪些Pandas小竅門”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

合川市| 台中县| 拉萨市| 色达县| 长岛县| 宁明县| 博客| 吴桥县| 永泰县| 湖口县| 蕲春县| 崇州市| 东阿县| 东乡县| 缙云县| 高邑县| 马关县| 南充市| 肥西县| 黄平县| 东至县| 会泽县| 永嘉县| 宕昌县| 茶陵县| 巴青县| 太原市| 抚州市| 始兴县| 柳江县| 陇川县| 凤城市| 濮阳县| 荥经县| 剑川县| 中宁县| 道真| 冀州市| 吉木萨尔县| 玛曲县| 江口县|