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

溫馨提示×

溫馨提示×

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

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

如何比較Python中的Pandas和data.table

發布時間:2021-10-09 16:03:13 來源:億速云 閱讀:242 作者:柒染 欄目:大數據

本篇文章為大家展示了如何比較Python中的Pandas和data.table,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在這篇文章中,我們將比較Pandas  和data.table,這兩個庫是Python和R最長用的數據分析包。我們不會說那個一個更好,我們這里的重點是演示這兩個庫如何為數據處理提供高效和靈活的方法。

我們將介紹的示例是常見的數據分析和操作操作。因此,您可能會經常使用它們。

我們將使用Kaggle上提供的墨爾本住房數據集作為示例。我將使用谷歌Colab(Pandas  )和RStudio(data.table)作為開環境。讓我們首先導入庫并讀取數據集。

# pandas  import pandas as pd  melb = pd.read_csv("/content/melb_data.csv")   # data.table  library(data.table)  melb <- fread("datasets/melb_data.csv")

示例1

第一個示例是關于基于數據集中的現有列創建新列。這是特征工程過程中常見的操作。這兩個庫都提供了完成此任務的簡單方法。

# pandas  melb["Price_per_area"] = melb["Price"] / melb["Landsize"]   # data.table  melb[, Price_per_area := Price / Landsize]
如何比較Python中的Pandas和data.table

示例2

對于第二個示例,我們通過應用幾個過濾器創建原始數據集的子集。這個子集包括價值超過100萬美元,類型為h的房子。

# pandas  subset = melb[(melb.Price > 1000000) & (melb.Type == "h")]   # data.table  subset <- melb[Price > 1000000 & Type == "h"]

對于pandas,我們提供dataframe的名稱來選擇用于過濾的列。另一方面,data.table僅使用列名就足夠了。

示例3

在數據分析中使用的一個非常常見的函數是groupby函數。它允許基于一些數值度量比較分類變量中的不同值。

例如,我們可以計算出不同地區的平均房價。為了使示例更復雜一些,我們還對房子類型應用一個過濾器。

# pandas  melb[melb.Type == "u"].groupby("Regionname").agg(  avg_price = ("Price", "mean")  )   # data.table  melb[Type == "u", .(avg_price = mean(Price)), by="Regionname"]
如何比較Python中的Pandas和data.table

pandas使用groupby函數執行這些操作。對于data.table,此操作相對簡單一些,因為我們只需要使用by參數即可。

示例4

讓我們進一步討論前面的例子。我們求出了房屋的平均價格,但不知道每個地區的房屋數量。

這兩個庫都允許在一個操作中應用多個聚合。我們還可以按升序或降序對結果進行排序。

# pandas  melb[melb.Type == "u"].groupby("Regionname").agg(  avg_price = ("Price", "mean"),  number_of_houses = ("Price", "count")  ).sort_values(by="avg_price", ascending=False)   # data.table  > melb[  Type == "u",  .(avg_price = mean(Price), number_of_houses=.N),  by="Regionname"  ][order(-avg_price)]
如何比較Python中的Pandas和data.table

我們使用計數函數來獲得每組房屋的數量。”。N”可作為data.table中的count函數。

默認情況下,這兩個庫都按升序對結果排序。排序規則在pandas中的ascending參數控制。 data.table中使用減號獲得降序結果。

示例5

在最后一個示例中,我們將看到如何更改列名。例如,我們可以更改類型和距離列的名稱。

類型:HouseType

距離:DistanceCBD

數據集中的distance列表示到中央商務區(CBD)的距離,因此最好在列名中提供該信息。

# pandas  melb.rename(columns={"Type": "HouseType",  "Distance": "DistanceCBD"},  inplace=True)   # data.table  setnames(melb,  c("Type", "Distance"),  c("HouseType", "DistanceCBD"))

對于熊貓,我們傳遞了一個字典,該字典將更改映射到rename函數。 inplace參數用于將結果保存在原始數據幀中。

對于data.table,我們使用setnames函數。 它使用三個參數,分別是表名,要更改的列名和新列名。


我們比較了pandas和data.table在數據分析操作過程中常見的5個示例。這兩個庫都提供了簡單有效的方法來完成這些任務。

在我看來,data.table比pandas簡單一點。

需要指出的是,我們在本文中所做的示例只代表了這些庫功能的很小一部分。它們提供了許多函數和方法來執行更復雜的操作。

上述內容就是如何比較Python中的Pandas和data.table,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

绩溪县| 应用必备| 枣庄市| 合江县| 宁阳县| 福建省| 玛沁县| 湛江市| 宁安市| 景宁| 香格里拉县| 莱西市| 平泉县| 金乡县| 烟台市| 扶风县| 黔西| 多伦县| 宜章县| 楚雄市| 夏河县| 海城市| 翼城县| 讷河市| 福清市| 建宁县| 兴宁市| 山东省| 陈巴尔虎旗| 拜泉县| 宣汉县| 上饶县| 收藏| 从化市| 靖宇县| 安达市| 普定县| 海淀区| 肥城市| 金堂县| 麻阳|