zoukankan      html  css  js  c++  java
  • Python数据分析Pandas库数据结构(一)

    pandas数据结构

    1.生成一维矩阵模拟数据

    import pandas as pd
    import numpy as np
    s = pd.Series([1,2,3,4,np.nan,9,9])
    s2 = pd.date_range('20181201',periods=6)#periods周期

    2.生成二维矩阵模拟数据

    import pandas as pd
    import numpy as np
    #(1)创建二维矩阵
    df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=list('ABC'),index=data_index)
    #(2)创建二维矩阵自动生成
    df1 = pd.DataFrame(np.arange(1,10).reshape(3,3),columns=list('ABC'),index=data_index)
    df1
    #(3)字典的方式
    data_index = pd.date_range('20181016',periods=3)
    df2 = pd.DataFrame({
       'A':[1,2,3],
       'B':[4,5,6],
       'C':[7,8,9]
    },index=data_index)
    df2

    3.排序

    索引操作

    1.索引默认从0开始

    • 操作列df['列名'] df[['列1','列2'.....]]

    • 操作行:df.loc/at[0] df.loc/at[0:3] df.loc/at[[1,5,6]

    2.索引被替换为字符串或时间

    • 操作列,:根据列名操作,无变化,同上

    • 操作行:df.loc[0:3]报错 用df.iloc/iat[0:3]代替

     

    按照条件筛选

    • df[df>0] 取出所有大于0的元素

    • df[df.列名>0] 取出对应列大于0的数据

    • isin([值1,值2..]) 判断数据在列表内.返回True/False

    赋值

    • df['新列名'] = 值 创建新列

    • df['列名'] = 新值

    • df.iloc[1:3,'A'] = 值

    空值判断

    • 空判断df.isna()返回True/False

    • 填充: df.fillna(value=值) ,如果为空,则用值代替

    • 删除空值:df.dropna(how=any/all)

    import pandas as pd
    import numpy as np
    #重置索引
    df2.iloc[1,2] = np.nan
    df2

    #判断
    df2.isna()

    #填充数据
    df3 = df2.fillna(value='bb')#替换,把空值得数据替换成bb,不操控原数组,
    df3

    #删除有空值的数据,整行都删除
    df2.dropna()

    #当数组索引数据都为空的时候才删除数据
    df2.dropna(how='all')
    df2


    #删除有空值的数据,整行都删除,原数组不变
    xx = df2.dropna(how='any')
    xx

     

     未完待续~~~~~

  • 相关阅读:
    驱动控制浏览器 和排程算法
    Python简单人脸识别,可调摄像头,基础入门,先简单了解一下吧
    机器学习
    “一拖六”屏幕扩展实战
    Apple iMac性能基准测试
    IDC机房KVM应用案例分析
    突破极限 解决大硬盘上安装Unix新思路
    Domino系统从UNIX平台到windows平台的迁移及备份
    走进集装箱数据中心(附动画详解)
    企业实战之部署Solarwinds Network八部众
  • 原文地址:https://www.cnblogs.com/guofeng-1016/p/10115086.html
Copyright © 2011-2022 走看看