pandas

作者: haokeed | 来源:发表于2019-05-08 10:22 被阅读0次

    windows下安装

    pip install pandas
    

    pandas 有两种数据结构:Series 和 DataFrame

    1.Series
    Series 像python中的数据list 一样,每个数据都有自己的索引。从list创建 Series。
    引入

    from pandas import Series
    

    使用

    from pandas import Series
    
    obj=Series([4,7,-5,3])
    print(obj)
    print("--------")
    print(obj.index) # 获取开始索引 结束索引 步长
    print(obj.values) # 获取值列表
    
    obj2=Series([4,7,-5,3],index=['3/1','3/2','3/3','3/4']) # 设置了index
    print(obj2)
    print("-----")
    print(obj2['3/3'])
    print("-----")
    print(obj2[obj2>0]) # 获取>0的值的数据列表
    
    # in
    print('3/3' in obj2) # 判断index 是否在obj2中
    print('3/6' in obj2)
    
    # 通过字典创建
    dict1={'3/1':4,'3/2':7,'3/3':-5,'3/4':3}
    print(dict1)
    print(Series(dict1)) # 转话为series
    
    image.png

    DataFrame
    DataFrame 相当于Series 一维的一个扩展,是一种二维的数据模型,相当于EXcel表格中的数据,有横竖两种坐标,横轴很Series 一样使用index,竖轴用columns 来确定,在建立DataFrame 对象的时候,需要确定三个元素:数据,横轴,竖轴。

    引入

    from pandas import DataFrame
    

    使用

    # 数据库
    # 两个列表
    position=['产品尽力','数据分析师','UI','产品经理','开发']
    print(position)
    company=['百度','360','360','阿里','58']
    print(company)
    DataFrame([position,company])
    
    jobInfo=DataFrame([position,company]).T
    jobInfo
    
    #columns
    jobInfo.columns=['职位名','公司名']
    #index
    jobInfo.index=['a','b','c','d','e']
    jobInfo
    # reset_index 重置index
    
    jobInfo.reset_index(drop = True)
    
    jobInfo.reset_index() # 这里会增加一个序列
    
    jobInfo.head(3) #显示前面数据 默认是5行
    
    jobInfo.tail(2) # 显示末尾数据 默认是5行
    
    # 要获取其中某一列的值:方式1
    jobInfo["职位名"]
    
    # 要获取其中某一列的值:方式2
    jobInfo.职位名
    
    # 获取某一行的值:方式1
    jobInfo.loc["c"]
    
    # 获取某一行的值:方式2
    jobInfo.iloc[2] #通过索引
    
    image.png
    image.png
    image.png

    pandas的一些基本功能

    # create一个数据框
    import numpy as np
    
    np.arange(16)
    data=np.arange(16).reshape((4,4))
    data
    
    # 行列指定标题
    df=DataFrame(data=data,index=['a','b','c','d'],columns=['one','two','three','four'])
    df
    
    # 丢弃指定轴上的项
    df.drop("b") # delete行
    df.drop("two",axis=1) # 删除列 axis=1表示列
    
    # search 列four值未7的记录
    df[df['four']==7]
    
    # unique 唯一值
    obj=Series([1,2,3,3,3,4,5,6,7,7,8,8,8,8])
    print(obj.unique())
    
    # 频率统计 value_counts
    print(obj.value_counts(sort=False)) # 结果默认是根据频率进行排序  sort=False表示不排序
    
    # describle 描述性统计信息
    df.describe()
    
    # 求和 sum
    df.sum()
    
    # 均值
    df.mean()
    
    # 累计求和
    df.cumsum()
    
    # 最大值
    df.max()
    
    # 非数值型数据的描述性统计分析
    jobInfo
    jobInfo.describe()
    
    image.png
    image.png
    image.png

    相关文章

      网友评论

          本文标题:pandas

          本文链接:https://www.haomeiwen.com/subject/ssieoqtx.html