zoukankan      html  css  js  c++  java
  • Series和DataFrame

    •pandas数据结构介绍:

    pandas中两大主要的数据结构Series和DataFrame

    Series是一种类似一维数组的对象,它由一组数据(numpy数据类型)以及一组与之相关的数据标签(即索引)组成,

    DataFrame是一种二维数据结构,是一种表格类型的数据结构(简单的理解像excel),每列可以是不同类型的值。既有行索引也有列索引

    •Series

    series是能够储存任意形式有标签的一维数组

    ~用列表创建一个series

    1 #列表创建series
    2 s1=Series(["I","love","pandas"])
    3 s1
    0         I
    1      love
    2    pandas
    dtype: objec
    1 s1.values#series中的值
    array(['I', 'love', 'pandas'], dtype=object)
    1  s1.index#series中的索引(没添加自动生成的)
    RangeIndex(start=0, stop=3, step=1)

    添加标签
    1 #自创索引值
    2 s2=Series(["I","love","pandas"],index=list("abc"))
    3 s2
    a         I
    b      love
    c    pandas
    dtype: object

    根据标签获取值
    1 s2["a":"b"]
    a       I
    b    love
    dtype: object



    ~用字典创建一个series
    1 s={"a":2,"b":3,"c":4}
    2 s3=Series(s)#k为标签,v为值
    3 s3
    
    
    a    2
    b    3
    c    4
    dtype: int64

    可以对索引赋值来修改索引
    1 s3.index=list("xyz")
    2 s3
    x    2
    y    3
    z    4
    dtype: int64


    Series运算:会自动对齐不同的索引
    1 s4=Series([4,5,6],index=list("axy"))
    2 s4
    a    4
    x    5
    y    6
    dtype: int64
    1 s3*s4
    a     NaN
    x    10.0
    y    18.0
    z     NaN
    dtype: float64
     



    •DataFrame
    DataFrame可以被看作Series组成的字典(共用同一索引)

    ~字典嵌套字典创建
    
    
    dict1={"i":{"a":1,"b":2,"c":3},"l":{"a":"x","b":"y","c":"z"},"p":{"a":3,"b":4,"c":5}}
    df1=pd.DataFrame(dict1)#i、l、p为列名,a、b、c为索引
    df1

    1 df1["I"]#选取其中一列,看是否为series
    a    1
    b    2
    c    3
    Name: i, dtype: int64
    1 type(df1["i"])
    a    1
    b    2
    c    3
    Name: i, dtype: int64

    所以DataFrame的每行每列都是一个Series

    1 df1.columns=list("bqp")
    2 df1.index=list("dfg")
    3 df1
    
    


    增加列
    1 df1["D"]=np.arange(3)#直接写出列名赋值即可
    2 df1
    
    
    

    del 删除列

    1 del df1["D"]
    2 df1



    ~列表组成的字典创建(是没有编写索引的)

    1 dict2={"a":[1,2,3,4],"b":[3,3,4,2],"c":[4,2,4,6]}
    2 df2=DataFrame(dict2,index=np.arange(4))
    3 df2
    
    


    ~数组创建
    1 array1=[["y","z","l"],["e","j","n"]]
    2 dt3=pd.DataFrame(array1,columns=['A',"B","C"],index=['noe','two'])
    3 print(dt3)
         A  B  C
    noe  y  z  l
    two  e  j  n
    
    
    #T用于转置
    dt3.T

     

  • 相关阅读:
    WPF中更改键盘默认指令小结
    WPF自己喜欢用的数据验证方式
    重写Windows基类,自定义WPF窗口,实现改回车键为TAB
    用CSS控制表格的框格线
    获取当前鼠标的坐标
    SQL 中的转义字符
    資料站點
    jquery 弹出浮层(div) + 遮蔽层
    Jquery放大镜插件[JMagazine]使用参数简介
    邏輯題 交通事故篇
  • 原文地址:https://www.cnblogs.com/ye20190812/p/13395954.html
Copyright © 2011-2022 走看看