• python数据分析001_series和dataframe


    1.Series

    from pandas import Series
    emp=['001','002','003','004','005','006']
    name=['亚瑟', '后裔','小乔','哪吒' ,'虞姬','王昭君']
    series = Series(data=name,index=emp)
    # 获取单个数据
    print(series[0])
    # 获取多个不连续的数据
    print('位置下标',series[[1,3]])
    # 使用切片获取连续的数据
    print('位置切片',series[0:3])

    2.Dataframe

    import pandas as pd

    df_dict = {
    'name':['ZhangSan','LiSi','WangWu','ZhaoLiu'],
    'age':['18','20','19','22'],
    'weight':['50','55','60','80']
    }
    df = pd.DataFrame(data=df_dict,index=['001','002','003','004'])
    print(df)
    # 获取行数和列数
    print(df.shape)

    # 获取行索引
    print(df.index.tolist())

    # 获取列索引
    print(df.columns.tolist())

    # 获取数据的维度
    print(df.ndim)

    # 获取前两条

    df.head(2)
    # 获取后两条
    df.tail(2)

    # 通过位置索引切片获取一行
    print(df[0:1])
    # 通过位置索引切片获取多行
    print(df[1:3])
    # 获取多行里面的某几列
    print(df[1:3][['name','age']])
    # 获取DataFrame的列
    print(df['name'])
    # 如果获取多个列
    print(df[['name','age']])

     

    通过行标签索引筛选loc[],通过行位置索引筛选iloc[],loc['001':'003']的结果中包含行索引003对应的行。iloc[0:2] 结果中不包含序号为2的数据,切片终点对应的数据不在筛选结果中

    # 获取某一行某一列的数据
    print(df.loc['001','name'])
    # 某一行多列的数据
    print(df.loc['001',['name','weight']])
    # 一行所有列
    print(df.loc['001',:])
    # 选择间隔的多行多列
    print(df.loc[['001','003'],['name','weight']])
    # 选择连续的多行和间隔的多列
    print(df.loc['001':'003','name':'weight'])

    # 取一行

    print(df.iloc[1])
    # 取连续多行
    print(df.iloc[0:2])
    # 取间断的多行
    print(df.iloc[[0,2],:])
    # 取某一列
    print(df.iloc[:,1])
    # 某一个值
    print(df.iloc[1,0])

    3.遍历

    按value遍历:

    for value in df['薪资']:
    print(value)

    iterrows(): 按行遍历,将DataFrame的每一行转化为(index, Series)对。index为行索引值,Series为该行对应的数据。

    for index,row_data in df.iterrows():

    print(index,row_data)

    iteritems():按列遍历,将DataFrame的每一列转化为(column, Series)对。column为列索引的值,Series为该列对应的数据。

    for col,col_data in df.iteritems()

      print(col,col_data)

     
     4.总结
     
     
     
     
  • 相关阅读:
    nodejs学习笔记
    php操作mysql数据库
    HTML5 新特性总结
    万恶的浏览器兼容问题
    图标字体使用方法
    托管代码
    进程间通信,把字符串指针作为参数通过SendMessage传递给另一个进程,不起作用
    利用自定义消息处理函数的WPARAM或LPARAM参数传递指针
    自定义消息中如果需要定义WPARAM和LPARAM,该怎么使用和分配?
    提高VS2010运行速度的技巧+关闭拼写检查
  • 原文地址:https://www.cnblogs.com/fanshudada/p/12332206.html
Copyright © 2020-2023  润新知