溫馨提示×

溫馨提示×

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

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

python數據分析:pandas學習之Series數組

發布時間:2020-07-28 12:11:55 來源:網絡 閱讀:313 作者:nineteens 欄目:編程語言

  學習pandas需要一些numpy學習基礎:numpy學習總結

  雖然numpy已經可以結合matplotlib解決我們數據分析的問題,那么pandas學習的目的在什么地方呢?

  numpy 能夠幫我們處理數值型數據,但是這還不夠

  很多時候,我們數據除了數值之外,還有字符串,時間序列等

  比如:我們通過爬蟲獲取到了存儲在數據庫中的數據

  所以, numpy能夠幫助我們處理數值,但是pandas處理處理數值之外(基于numpy),還能夠幫助我們處理其他類型的數據

  pandas常用的數據類型

  1.Series一維, 帶標簽(索引)數組

  2. DataFrame二維, Series容器

  pandas的Series學習

  創建一個Series數組

  import pandas as pd

  import numpy as np

  # 創建長度為10的Series數組

  t = pd.Series(np.arange(10))

  

python數據分析:pandas學習之Series數組


  這樣就可以創建一個簡單的Series數組了,數組的左邊是它的索引,右邊是它的值

  ,因此它有index和values方法

  

python數據分析:pandas學習之Series數組


  更改Series數組的索引值

  其中index=list(string.ascii_uppercase[:10])表示的是取前10位大寫字母來代替索引

  在這里插入代碼片

  注意: pd.Series能夠干什么,能夠傳入什么類型的數據讓其變為series結構,index是什么?

  在什么位置,對于我們常見的數據庫或者ndarray來說,index是什么,如何給一組數據指定index?

  在pd.Series()中的參數可以傳入一個字典,也能傳入一個列表,元組等

  重新給其指定其他的索引之后,如果能夠對應上,就取其值,如果不能,就為nan, 此時數據的類型就為float類型了,因為numpy中的nan為float類型,pandas會自動根據數據類型更改Series的dtype類型,若要修改此類型,使用.astype即可修改

  pandas之Series切片和索引

  t = pd.Series(np.arange(10), index=list(string.ascii_uppercase[:10]))

  t[2:10:2] # 從第三個開始以步長為2,到第10個為止

  t[[2, 3, 6]] # 選擇第三個, 第四個, 和第七個的值

  t["F"] # 選擇索引為F的值

  結果如下:

  切片:在"[]"中直接傳入start end 或者步長即可

  索引:一個的時候傳入序號或者index,多個的時候傳入序號或者index的列表

  pandas之Series的索引和值

  對于一個陌生的series類型,我們如何知道它的索引和具體的值呢:

  t.index ==> 返回數組的索引,是一個列表類型,可以進行遍歷,也可進行強制類型轉換,如: tuple(t.index) # 進行強制類型轉換

  t.values ==> 返回數組的值,是一個列表類型,可以進行遍歷,也可進行強制類型轉換,如: tuple(t.values)

  Series對象本質上由兩個數組構成。

  一個數組構成對象的鍵(index,索引),一個數組構成對象的值(values),鍵 -> 值

  ndarray的很多方法都可以運用于series類型,比如argmax,clip

  series具有where方法,但是結果和ndarray不同,具體方法可以查看官方文檔np.Series.where使用教程

  pandas讀取mongodb數據

  這里由于我的mongodb里面沒有數據,所以我就手動添加了一些數據(0.0)

  from pymongo import MongoClient

  import pandas as pd

  client = MongoClient()

  collection = client["xin"]["test"]

  data = list(collection.find())

  a = ["hello", "world"]

  data.append(a)

  t1 = data[0]

  t1 = pd.Series(t1)

  print(t1)

  結果如下

  

python數據分析:pandas學習之Series數組


  pandas讀取外部文件

  pandas提供了很多讀取數據的方法,比如:

  鄭州婦科醫院 http://fk.zyfuke.com/

python數據分析:pandas學習之Series數組


  這里我以csv文件舉例

  import pandas as pd

  # pandas 讀取文件

  t = pd.read_csv("./demo.csv")

  print(t)

  csv文件結果如下

  

python數據分析:pandas學習之Series數組


  我們這組的數據存在csv文件中,我們直接使用pd.read_csv即可

  和我們想象中的有些差別,我們以為他會是一個Series類型,但實際上它是一個DataFrame數組類型。


向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女