亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Python?Pandas中的數據結構實例分析

發布時間:2022-06-21 13:42:27 來源:億速云 閱讀:113 作者:iii 欄目:開發技術

今天小編給大家分享一下Python Pandas中的數據結構實例分析的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    前言:

    Pandas有三種數據結構:Series、DataFrame和Panel。Series類似于數組;DataFrame類似于表格;Panel可視為Excel的多表單Sheet

    1.Series

    Series是一種一維數組對象,包含一個值序列,并且包含數據標簽,稱為索引(index),通過索引來訪問數組中的數據。

    1.1通過列表創建Series

    例1.通過列表創建

    import pandas as pd
    obj = pd.Series([1,-2,3,4])   #僅由一個數組構成
    print(obj)

    輸出:

    0 1
    1 -2
    2 3
    3 4
    dtype: int64

    輸出的第一列為index,第二列為數據value。如果創建Series時沒有指定index,Pandas會采用整型數據作為該Series的index。也可以使用Python里的索引index和切片slice技術

    例2.創建Series時指定索引

    import pandas as pd
    i = ["a","c","d","a"]
    v = [2,4,5,7]
    t = pd.Series(v,index=i,name="col")
    print(t)

    out:

    a    2
    c    4
    d    5
    a    7
    Name: col, dtype: int64

    盡管創建Series指定了index,實際上Pandas還是有隱藏的index位置信息。所以Series有兩套描述某條數據手段:位置和標簽 

    例3.Series位置和標簽的使用

    import pandas as pd
    val = [2,4,5,6]
    idx1 = range(10,14)
    idx2 = "hello the cruel world".split()
    s0 = pd.Series(val)
    s1 = pd.Series(val,index=idx1)
    t = pd.Series(val,index=idx2)
    print(s0.index)
    print(s1.index)
    print(t.index)
    print(s0[0])
    print(s1[10])
    print('default:',t[0],'label:',t["hello"])

    1.2通過字典創建Series

    如果數據被存放在一個Python字典中,也可以直接通過這個字典來創建Series

      例4.通過字典創建Series

    import pandas as pd
    sdata = {'Ohio':35000,'Texass':71000,'Oregon':16000,'Utah':5000}
    obj = pd.Series(sdata)
    print(obj)

    Ohio      35000
    Texass    71000
    Oregon    16000
    Utah       5000
    dtype: int64

    如果只傳入一個字典,則結果Series中的索引就是原字典的鍵(有序排列)

    例5.通過字典創建Series時的索引

    import pandas as pd
    sdata = {"a":100,"b":200,"e":300}
    obj = pd.Series(sdata)
    print(obj)

    a    100
    b    200
    e    300
    dtype: int64

    如果字典中的鍵值和指定的索引不匹配,則對應的值時NaN

      例6.鍵值和指定索引不匹配

    import pandas as pd
    sdata = {"a":100,"b":200,"e":300}
    letter = ["a","b","c","e"]
    obj = pd.Series(sdata,index=letter)
    print(obj)

    a    100.0
    b    200.0
    c      NaN
    e    300.0
    dtype: float64

    對于許多應用而言,Series重要的一個功能是:它在算術運算中會自動對齊不同索引的數據

    例7.不同索引數據的自動對齊

    import pandas as pd
    sdata = {'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}
    obj1 = pd.Series(sdata)
    states = ['California','Ohio','Oregon','Texas']
    obj2 = pd.Series(sdata,index=states)
    print(obj1+obj2)

    California         NaN
    Ohio           70000.0
    Oregon         32000.0
    Texas         142000.0
    Utah               NaN
    dtype: float64 

    Series的索引可以通過賦值的方式就地修改

      例8.Series索引的修改

    import pandas as pd
    obj = pd.Series([4,7,-3,2])
    obj.index = ['Bob','Steve','Jeff','Ryan']
    print(obj)

    Bob      4
    Steve    7
    Jeff    -3
    Ryan     2
    dtype: int64

    2.DataFrame

     DataFrame是一個表格型的數據結構,它含有一組有序的列,每列可以是不同類型的值(數值、字符串、布爾值等)。DataFrame既有行索引也有列索引,它可以被看作由Series組成的字典(共用同一個索引)。跟其他類型的數據結構相比,DataFrame中面向行和面向列的操作上基本上是平衡的

     構建DataFrame的方式有很多,最常用的是直接傳入一個由等長列表或NumPy數組組成的字典來形成DataFrame

      例9.DataFrame的創建

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data)
    print(df)

    name     sex  year city
    0   張三  female  2001   北京
    1   李四  female  2001   上海
    2   王五    male  2003   廣州
    3   小明    male  2002   北京

    DataFrame會自動加上索引(跟Series一樣),且全部列會被有序排列。如果指定了列名序列,則DataFrame的列就會按照指定順序進行排列

    例10.DataFrame的索引

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data,columns = ['name','year','sex','city'])
    print(df)

    name  year     sex city
    0   張三  2001  female   北京
    1   李四  2001  female   上海
    2   王五  2003    male   廣州
    3   小明  2002    male   北京

    跟Series一樣,如果傳入的列在數據中找不到,就會產生NaN值。

    例11.DataFrame創建時的空缺值

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data,columns = ['name','year','sex','city','address'])
    print(df)

    name  year     sex city address
    0   張三  2001  female   北京     NaN
    1   李四  2001  female   上海     NaN
    2   王五  2003    male   廣州     NaN
    3   小明  2002    male   北京     NaN

    DataFrame構造函數的columns函數給出列的名字,index給出label標簽

    例12.DataFrame構建時指定列名

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data,columns = ['name','year','sex','city','address'],index = ['a','b','c','d'])
    print(df)

     name  year     sex city address
    a   張三  2001  female   北京     NaN
    b   李四  2001  female   上海     NaN
    c   王五  2003    male   廣州     NaN
    d   小明  2002    male   北京     NaN

    3.索引對象 

     Pandas的索引對象負責管理軸標簽和其他元數據(例如軸名稱等).構建Series或DataFrame時,所用到的任何數組或其他序列的標簽都會被轉換成一個Index

      例13.顯示DataFrame的索引和列

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data,columns = ['name','year','sex','city','address'],index = ['a','b','c','d'])
    print(df)
    print(df.index)
    print(df.columns)

    name  year     sex city address
    a   張三  2001  female   北京     NaN
    b   李四  2001  female   上海     NaN
    c   王五  2003    male   廣州     NaN
    d   小明  2002    male   北京     NaN
    Index(['a', 'b', 'c', 'd'], dtype='object')
    Index(['name', 'year', 'sex', 'city', 'address'], dtype='object')

    索引對象不能進行修改,否則會報錯。不可修改性非常重要,因為這樣才能使Index對象在多個數據結構之間安全共享
    除了長的像數組,Index的功能也類似于一個固定大小的集合

    例14.DataFrame的Index

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data,columns = ['name','year','sex','city','address'],index = ['a','b','c','d'])
     
    print('name'in df.columns)
    print('a'in df.index)

    True

    True

    每個索引都有一些方法和屬性,他們可用于設置邏輯并回答有關該索引所包含的數據的常見的問題。

    Python?Pandas中的數據結構實例分析

      例15.插入索引值

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data,columns = ['name','year','sex','city','address'],index = ['a','b','c','d'])
     
    df.index.insert(1,'w')
    Index(['a', 'w', 'b', 'c', 'd'], dtype='object')

    4.查看DataFrame的常用屬性

    DataFrame的基礎屬性有value、index、columns、dtypes、ndim和shape,分別可以獲取DataFrame的元素、索引、列名、類型、維度和形狀。

      例16.顯示DataFrame的屬性

    import pandas as pd
    data = {
        'name':['張三','李四','王五','小明'],
        'sex':['female','female','male','male'],
        'year':[2001,2001,2003,2002],
        'city':['北京','上海','廣州','北京']
    }
    df = pd.DataFrame(data,columns = ['name','year','sex','city','address'],index = ['a','b','c','d'])
     
    print(df)
    print('信息表的所有值為:\n',df.values)
    print('信息表的所有列為:\n',df.columns)
    print('信息表的元素個數:\n',df.size)
    print('信息表的維度:\n',df.ndim)
    print('信息表的形狀:\n',df.shape)
     #//輸出
      name  year     sex city address
    a   張三  2001  female   北京     NaN
    b   李四  2001  female   上海     NaN
    c   王五  2003    male   廣州     NaN
    d   小明  2002    male   北京     NaN
    信息表的所有值為:
     [['張三' 2001 'female' '北京' nan]
     ['李四' 2001 'female' '上海' nan]
     ['王五' 2003 'male' '廣州' nan]
     ['小明' 2002 'male' '北京' nan]]
    信息表的所有列為:
     Index(['name', 'year', 'sex', 'city', 'address'], dtype='object')
    信息表的元素個數:
     20
    信息表的維度:
     2
    信息表的形狀:
     (4, 5)

    以上就是“Python Pandas中的數據結構實例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

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

    AI

    板桥市| 汾阳市| 来宾市| 玉山县| 南雄市| 镇坪县| 浦县| 梅州市| 安陆市| 济宁市| 民权县| 怀远县| 侯马市| 武穴市| 明水县| 邵东县| 浪卡子县| 竹溪县| 陆丰市| 土默特左旗| 通海县| 博爱县| 邵阳市| 龙山县| 平江县| 商丘市| 长葛市| 肥东县| 桐城市| 南皮县| 元朗区| 宝鸡市| 上犹县| 东乌珠穆沁旗| 宝兴县| 安义县| 尖扎县| 龙山县| 西吉县| 姜堰市| 道孚县|