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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

c++控制台应用每一列数据如何对齐_Python数据分析第五节 pandas入门

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++控制台应用每一列数据如何对齐_Python数据分析第五节 pandas入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這一節將開始學習python的一個核心數據分析支持庫---pandas,它是python數據分析實踐與實戰的必備高級工具。對于使用 Python 進行數據分析來說,pandas 幾乎是無人不知,無人不曉的。今天,我們就來認識認識數據分析界鼎鼎大名的 pandas。

目錄

一. pandas主要數據結構

  1. ?Series

  2. DataFrame

二.?列的查改增刪

  1. 查看列

  2. 修改列

  3. 新增列

  4. 刪除列

三. 導入Excel表格

一.?pandas主要數據結構

想要了解pandas,我們需要先了解它的主要數據結構Series(一維數據)和DataFrame(二維數據),這兩種數據足夠用來處理金融,統計,社會工作工程等領域絕大多數案例!

在開始之前我們需要了解怎么導入pandas庫

import pandas as pd

將 pandas 簡寫成 pd 幾乎成了一種不成文的規定。因此,只要你看到 pd 就應該聯想到這是 pandas。

  1. ??Series

Series 是一種類似于 Numpy 中一維數組的對象,它由一組任意類型的數據以及一組與之相關的數據標簽(即索引)組成。舉個最簡單的例子:

輸出的結果中:左邊的是數據的標簽,默認從 0 開始依次遞增。右邊是對應的數據,最后一行表明了數據類型。

我們也可以像下面這樣使用 index 參數自定義數據標簽:

我們還可以直接使用字典同時創建帶有自定義數據標簽的數據,pandas 會自動把字典的鍵作為數據標簽,字典的值作為相對應的數據。

可以看出運行結果和上面是一樣的!

訪問 Series 里的數據的方式,也是使用中括號加數據標簽的方式來獲取里面的數據

import pandas as pds1 = pd.Series([2, 4, 6, 8])s2 = pd.Series({'a': 2, 'b': 4, 'c': 6, 'd': 8})print(s1[0])# 輸出:2print(s2['b'])#?輸出:4

標簽的作用很強大,我們可以對相同標簽的兩組數據進行加減乘除運算

假設有兩個租車公司,我們要計算一下兩家公司各種汽車的數量總和:

pandas 自動幫我們將相同數據標簽的數據進行了計算,這就是數據對齊。

你可能會有疑問,如果兩家租車公司汽車種類不一樣怎么辦,pandas 還能進行數據對齊嗎?我們試一下就知道了。

可以看到,對于數據標簽不相同的數據,運算后結果是 NaN。NaN 是 Not a Number(不是一個數字)的縮寫,因為其中一個 Series 中沒有對應數據標簽的數據,無法進行計算,因此返回了 NaN。

對于這種情況,我們想讓沒有的數據默認為 0,然后再進行計算。這種需求 pandas 可以實現嗎?

當然可以!只需調用 Series 的?add()?方法,并設置好默認值即可。具體用法如下:

add()?方法對應的是加法,數學中的四則運算在 pandas 中都有一一對應的方法,它們的用法都是類似的。具體對應關系如下圖所示:

2.?DataFrame

Series 是一維數據,而 DataFrame 是二維數據。什么意思呢?你可以把 DataFrame 想象成一個表格,表格有行和列這兩個維度,所以是二維數據。

實際上,表格中的每一行或每一列都是一個 Series,這些 Series 就組成了 DataFrame。按行分,每一行數據加上上面的數據標簽就是一個 Series,?或者按列分每一列數據加上左邊的數據標簽也是一個Series

那么,如何用 DataFrame 實現上圖中那樣的表格呢?也很簡單,請看代碼:

接下來是本節的重點——DataFrame。構建 DataFrame 的辦法有很多,最常用的一種是傳入一個由等長列表組成的字典。即字典里每個值都是列表,且它們的長度必須相等。

這樣我們就得到了一個表格,字典的鍵會作為表格的列名。最左邊的是索引,也是默認從 0 開始依次增加。當然,我們也可以在構建 DataFrame 的時候傳入 index 參數來自定義索引。

全都寫在一行代碼就太長了,所以我把表格數據放到了變量 data 中。并且通過 index 參數將日期作為了 DataFrame 的索引。

二. 列的查改增刪

1.?查看列

為了減少重復代碼的出現,接下來的講解都基于下面的代碼。

import pandas as pddata = {  '蘭博基尼': [14, 20],  '邁凱輪': [7, 3],  '法拉利': [8, 13],  '帕加尼': [10, 6]}df = pd.DataFrame(data, index=['租車公司A', '租車公司B'])

如果我們只想查看有關法拉利的數據,我們可以這樣寫:

print(df['法拉利'])

輸出結果為:

我們還能同時選擇多列進行查看,只要把多個列名放到列表當中即可。

print(df[['法拉利',?'邁凱輪']])

輸出結果為:

2. 修改列

如果我們發現表格中的數據有錯誤,想要修改,這其實非常的簡單,直接對已有列直接賦值即可。

df['法拉利']?=?[18,?23]print(df)

輸出結果就為修正后的:

3. 新增列

如果想要新增一列同樣也非常的簡單,對表格中不存在的列直接賦值就能添加新的列了。

df['奧迪R8']?=?[3,?5]print(df)

輸出結果為

4.?刪除列

刪除列需要用到 drop()?方法。我們先來看一下用法:

df.drop('邁凱輪',?axis=1,?inplace=True)print(df)#?或者?print(df.drop('邁凱輪',?axis=1))

drop()?方法的第一個參數是要刪除的列名或索引。axis 表示針對行或列進行刪除,axis = 0 表示刪除對應的行,axis = 1 表示刪除對應的列,axis 默認為 0。

最后的 inplace = True 表示直接修改原數據,否則?drop()?方法只是返回刪除后的表格,對原表格沒有影響。因此上面兩種寫法的結果是一樣的。

三. 導入Excel表格

導入Excel表格只需要一行代碼即可:

import pandas as pddf?=?pd.read_excel('文件所在路徑/文件名.xlsx')

我們可以用代碼:

print(type(df))

來查看導入數據是一維數據(Series)還是二維數據(DataFrame)

讀取到表格數據后,可能表格數據很多,我們想大致確認一下表格內容,不需要打印出完整的表格。這時我們可以使用 head()?方法來查看前 5 條數據。

代碼為:

print(df.head())

head()?方法還支持傳入參數來控制顯示前多少條數據,比如前 2 條數據:

print(df.head(2))

除了查看開頭的一些數據,還可以使用 tail()?方法查看末尾的數據。用法和 head()?一致,默認顯示 5 條,可以傳入參數來改變顯示的條數。

print(df.tail())

我們還能通過 info()?方法查看整個表格的大致信息。

print(df.info())

運行結果及主要含義如下圖所示:(用季度銷售額的數據舉例)

通過?info()?方法我們可以對表格大致有個了解,知道有幾行幾列,以及哪列有多少條缺失數據。

除此之外,我們還能通過?describe()?方法來快速查看數據的統計摘要,方便我們對數據有一個直觀上的認識。

print(df.describe())

生成的摘要從上往下分別表示數量、平均數、標準差、最小值、25% 50% 75% 位置的值和最大值。

?

長按關注公眾號

歡迎留言交流

總結

以上是生活随笔為你收集整理的c++控制台应用每一列数据如何对齐_Python数据分析第五节 pandas入门的全部內容,希望文章能夠幫你解決所遇到的問題。

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