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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

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

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

Python 在數(shù)據(jù)分析領(lǐng)域里是一門非常強(qiáng)大的語(yǔ)言,在數(shù)據(jù)分析方面有著出色的生態(tài)系統(tǒng)。Pandas 包就是其中之一,它的主要特點(diǎn)是導(dǎo)入和分析數(shù)據(jù)非常的容易,Pandas 類似 Numpy、Matplotlib,提供了單一且方便的方式來(lái)處理數(shù)據(jù)分析和形象化的工作。

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

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

使用Pandas導(dǎo)入數(shù)據(jù)

首先,我們先查看數(shù)據(jù)。數(shù)據(jù)以逗號(hào)分隔符來(lái)存儲(chǔ),或者 csv 文件,每一行通過(guò)換行來(lái)分隔,每一列以逗號(hào),來(lái)分隔,下面是 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

正如我們看到的,每一行代表游戲的一個(gè) IGN 評(píng)論。每一列的含義如下:

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

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

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

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

獲取完數(shù)據(jù)后,Pandas 提供了兩個(gè)方法來(lái)快速打印數(shù)據(jù):

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

我們還可以通過(guò) pandas.DataFrame.shape 屬性來(lái)查看行數(shù)和列數(shù):

reviews.shape(18625, 11)

通過(guò)結(jié)果可以看到,我們的數(shù)據(jù)有 18625 行,11 列。

Pandas 對(duì)比 Numpy 的一大優(yōu)勢(shì)就是 Pandas 允許我們可以有不同數(shù)據(jù)類型的列。reviews 有的類似 store 的 float 列;有的類似 score_phrase 的 string 列;有的類似 release_year 的 integer 列。

現(xiàn)在,讓我們通過(guò)索引 reviews 來(lái)獲取想要的行和列。

使用Pandas索引DataFrames

前面我們使用 head 方法來(lái)打印前 5 行數(shù)據(jù),我們可以使用 pandas.DataFrame.iloc 來(lái)實(shí)現(xiàn)同樣的功能。iloc 方法允許我們檢索行和列的位置:

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

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

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

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

通過(guò)位置來(lái)索引與 Numpy 索引很相似。

現(xiàn)在,讓我們移除沒(méi)什么意義的第一列:

在Pandas中使用標(biāo)簽來(lái)檢索

我們已經(jīng)知道如何通過(guò)行和列的位置來(lái)檢索數(shù)據(jù),現(xiàn)在我們通過(guò) DataFrame 的其他主要的方法來(lái)檢索數(shù)據(jù),就是通過(guò)航和咧的標(biāo)簽來(lái)檢索。

Pandas 優(yōu)于 Numpy 的其中一點(diǎn)是 Pandas 的行和列都有標(biāo)簽,通過(guò)列的位置當(dāng)然可以檢索,但是這很難跟蹤哪些數(shù)字對(duì)應(yīng)哪些列。我們通過(guò) pandas.DataFrame.loc 方法來(lái)使用標(biāo)簽,允許我們通過(guò)標(biāo)簽替代位置來(lái)檢索數(shù)據(jù)。

我們使用 loc 瀏覽前五行數(shù)據(jù):

這個(gè)例子與 reviews.iloc[0:5, :] 看起來(lái)沒(méi)有什么區(qū)別,是因?yàn)槲覀兊男袠?biāo)簽匹配了位置值。我們可以看到行標(biāo)簽在表格的左邊,也可以看出來(lái)它們通過(guò) DataFrame 索引屬性訪問(wèn)。我們展示數(shù)據(jù)的行索引:

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

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

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

正如前面提到的,列標(biāo)簽可以很容易的找到數(shù)據(jù),我們使用 loc 方法通過(guò)列標(biāo)簽替代位置索引檢索數(shù)據(jù):

我們也可以一次通過(guò)列表形式指定多個(gè)列標(biāo)簽:

上半部分小結(jié)

上半部分的文章,我們主要了解了 Pandas 如何加載數(shù)據(jù),以及 Pandas 通過(guò)位置或者標(biāo)簽檢索數(shù)據(jù)的方便快捷的特性。我們將在后面的文章繼續(xù)學(xué)習(xí) Pandas,學(xué)習(xí)它更多的特性。

總結(jié)

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

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