• 使用pandas进行数据分析-pandas库介绍之DataFrame基本操作


    DataFrame

    DataFrame是一种二维的数据结构,非常接近于电子表格或者类似mysql的数据库形式。它的竖行称之为columns,横行与Series一样,称之为index,也就是说可以通过columns和index来进行确定位置。

    #导入模块
     from pandas import Series,DataFrame
    
    •   定义DataFrame方法
    • 1、使用dict字典
    #定义DataFrame
    
    #方式一:使用dict字典
    data = {"name":['google','baidu','yahoo'],"marks":[100,200,300],"price":[1,2,3]}
    >>> data
    {'name': ['google', 'baidu', 'yahoo'], 'marks': [100, 200, 300], 'price': [1, 2, 3]}
    
    f1 = DataFrame(data)
    >>> f1
         name  marks  price
    0  google    100      1
    1   baidu    200      2
    2   yahoo    300      3
    

      字典的键(“name”,“marks”,“price”)就是DataFrame的columns的值,字典中每个键的值是一个列表,它们就是那一竖列中的具体填充数据。上面的定义没有确定索引,因此使用从0开始的整数。从结果中可以明确的看出,这是一个二维的数据结构(类似excel或者mysql中的查看效果)。

      1、上面的例子中,columns的顺序没有规定,但在DataFrame中columns的顺序可以被规定(字典中不可以)。做法如下:

    f2 = DataFrame(data,columns=['name','marks','price'])
    
    >>> f2
         name  marks  price
    0  google    100      1
    1   baidu    200      2
    2   yahoo    300      3
    

      2、DataFrame数据的索引也可以自定义。做法如下:

    f3 = DataFrame(data,columns=['name','marks','price'],index=['a','b','c'])
    >>> f3
         name  marks  price
    a  google    100      1
    b   baidu    200      2
    c   yahoo    300      3
    
    •  2、“字典套字典”方法
    #第二种方式:“字典套字典”
    
    >>>newdata = {'lang':{'first':'python','second':'java'},'price':{'first':5000,'second':2000}}
    >>> f4 = DataFrame(newdata)
    >>> f4
              lang  price
    first   python   5000
    second    java   2000
    

      字典中就规定好数列名字(第一层键)和每横行索引(第二层字典键)以及对应的数据(第二层字典值),也就是在字典中规定好了每个数据格子中的数据,没有规定的都是空的。

    •   DataFrame对象的columns属性,能够显示元素具有的columns名称。并且,还可以通过下面类似字典的方式,得到某竖列的全部内容:
    >>> f3['name']
    a    google
    b     baidu
    c     yahoo
    Name: name, dtype: object
    

      可以对某一列单独赋值,“点对点”赋值

    • 横行元素,做法:
    >>>f3.loc['a']
    name     google
    marks       100
    price         1
    Name: a, dtype: object
    

      

  • 相关阅读:
    《Java技术》第四次作业
    Java第三次作业——面向对象基础(封装)
    《Java技术》第二次作业
    #《Java技术》第一次作业
    Java第十次作业
    Java第九次作业
    Java第八次作业
    Java第七次作业
    Java第6次作业
    Java第五次作业
  • 原文地址:https://www.cnblogs.com/cola-1998/p/10803008.html
Copyright © 2020-2023  润新知