日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pandas 每一列相加_Python数据分析——Pandas 教程(上)

發布時間:2023/12/13 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pandas 每一列相加_Python数据分析——Pandas 教程(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 在數據分析領域里是一門非常強大的語言,在數據分析方面有著出色的生態系統。Pandas 包就是其中之一,它的主要特點是導入和分析數據非常的容易,Pandas 類似 Numpy、Matplotlib,提供了單一且方便的方式來處理數據分析和形象化的工作。

本文中,我們使用 Pandas 來分析 IGN(www.ign.com) 上的游戲評論數據,IGN 是一個頗受歡迎的游戲評論網站。相關數據可以從這里(https://www.kaggle.com/egrinstein/20-years-of-games)獲取到,也可以通過我的 Github 獲取(https://raw.githubusercontent.com/keer2345/DataAnalysisWithPython/master/myself-notebook/dataquest.io/ign.csv)。通過分析評論數據,我們將學到類似索引等 Pandas 關鍵的方面。

比如類似巫師3(Witcher3)這款游戲,在 PS4 上的評論會比 Xbox One 上更多嗎?數據集能幫我們給出結果。

使用Pandas導入數據

首先,我們先查看數據。數據以逗號分隔符來存儲,或者 csv 文件,每一行通過換行來分隔,每一列以逗號,來分隔,下面是 ign.csv 文件的前面幾行:

,score_phrase,title,url,platform,score,genre,editors_choice,release_year,release_month,release_day0,Amazing,LittleBigPlanet PS Vita,/games/littlebigplanet-vita/vita-98907,PlayStation Vita,9.0,Platformer,Y,2012,9,121,Amazing,LittleBigPlanet PS Vita -- Marvel Super Hero Edition,/games/littlebigplanet-ps-vita-marvel-super-hero-edition/vita-20027059,PlayStation Vita,9.0,Platformer,Y,2012,9,122,Great,Splice: Tree of Life,/games/splice/ipad-141070,iPad,8.5,Puzzle,N,2012,9,123,Great,NHL 13,/games/nhl-13/xbox-360-128182,Xbox 360,8.5,Sports,N,2012,9,11

正如我們看到的,每一行代表游戲的一個 IGN 評論。每一列的含義如下:

  • score_phrase: IGN 評論的唯一值
  • title: 游戲名稱
  • url: 通過 URL 可以看到詳細評論
  • platform: 通過何種平臺評論游戲(PC, PS4, etc)
  • score: 評分,從 1.0 ~ 10.0
  • genre: 游戲種類
  • editors_choice: 如果游戲并非通過選擇打分的為 N,否則為 Y
  • release_year: 游戲發布年份
  • release_month: 游戲發布月份
  • release_day:游戲發布日期

數據里還有一列包含索引值,到后面深入索引數據之前我們可以忽略這一列。我們通過 Pandas DataFrame 加載數據,DataFrame 是一種處理表格數據的方式,表格數據擁有行和列,類似上面的 csv 文件。

為了讀取數據,我們使用 pandas.read_csv 函數。該函數能返回 csv 文件的 DataFrame:

  • 導入 pandas 庫,并習慣性的重命名為 pd,以便能以后能快速地調用它。
  • 讀取 ign.csv 文件到 DataFrame,并賦值給 reviews。
import pandas as pdreviews = pd.read_csv("ign.csv")

獲取完數據后,Pandas 提供了兩個方法來快速打印數據:

  • pandas.DataFrame.head:打印 DataFrame 的前 N 行,默認值為 5
  • pandas.DataFrame.tail:打印 DataFrame 的后 N 行,默認值為 5
reviews.tail(3)

我們還可以通過 pandas.DataFrame.shape 屬性來查看行數和列數:

reviews.shape(18625, 11)

通過結果可以看到,我們的數據有 18625 行,11 列。

Pandas 對比 Numpy 的一大優勢就是 Pandas 允許我們可以有不同數據類型的列。reviews 有的類似 store 的 float 列;有的類似 score_phrase 的 string 列;有的類似 release_year 的 integer 列。

現在,讓我們通過索引 reviews 來獲取想要的行和列。

使用Pandas索引DataFrames

前面我們使用 head 方法來打印前 5 行數據,我們可以使用 pandas.DataFrame.iloc 來實現同樣的功能。iloc 方法允許我們檢索行和列的位置:

正如我們所看到的,指定了想要的行數 0:5,意思是位置從 0 行開始的 5 行,即 0, 1, 2, 3, 4。這種情況下,也可以簡寫為 :5。

我們使用 : 來指定列的位置,表示獲取所有列。

下面是一些索引(indexing)的例子:

  • reviews.iloc[:5, :]:前5行、所有列
  • reviews.iloc[:, :]:所有數據
  • reviews.iloc[5:, 5:]:第5行和第5列之后的數據
  • reviews.iloc[:, 0]:所有行的第一列數據
  • reviews.iloc[9, :]:第10行數據

通過位置來索引與 Numpy 索引很相似。

現在,讓我們移除沒什么意義的第一列:

在Pandas中使用標簽來檢索

我們已經知道如何通過行和列的位置來檢索數據,現在我們通過 DataFrame 的其他主要的方法來檢索數據,就是通過航和咧的標簽來檢索。

Pandas 優于 Numpy 的其中一點是 Pandas 的行和列都有標簽,通過列的位置當然可以檢索,但是這很難跟蹤哪些數字對應哪些列。我們通過 pandas.DataFrame.loc 方法來使用標簽,允許我們通過標簽替代位置來檢索數據。

我們使用 loc 瀏覽前五行數據:

這個例子與 reviews.iloc[0:5, :] 看起來沒有什么區別,是因為我們的行標簽匹配了位置值。我們可以看到行標簽在表格的左邊,也可以看出來它們通過 DataFrame 索引屬性訪問。我們展示數據的行索引:

索引并不一定與位置匹配,比如下面的代碼:

  • 獲取數據的 10 ~ 20 行,并賦值為 some_reviews
  • 瀏覽 some_reviews 的前 5 行

可以看見,在 some_reviews 中,行索引從 10 到 20,因此,loc 標簽檢索的數字必須是從 10 到 20。

正如前面提到的,列標簽可以很容易的找到數據,我們使用 loc 方法通過列標簽替代位置索引檢索數據:

我們也可以一次通過列表形式指定多個列標簽:

上半部分小結

上半部分的文章,我們主要了解了 Pandas 如何加載數據,以及 Pandas 通過位置或者標簽檢索數據的方便快捷的特性。我們將在后面的文章繼續學習 Pandas,學習它更多的特性。

總結

以上是生活随笔為你收集整理的pandas 每一列相加_Python数据分析——Pandas 教程(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。