1. 更多函数查阅http://pandas.pydata.org/pandas-docs/stable/10min.html
    import pandas as pd
    #两种数据结构
    from pandas import Series,DataFrame
  2.  
  3. #Series由一组数据和一组索引组成
    # obj=Series([2,3,5,7,3,1])
    # print(obj)
  4.  
  5. #建立Series的时候指定索引
    # obj2=Series([1,2,3,4,5],index=['a','b','c','d','e'])
    # # print(obj2)
    # print(obj2['a'])#指定索引输出
    # print(obj2[['a','d']])#指定多个索引输出
    # print('a' in obj2)#判断索引'a'是否在Series中,输出值为bool类型
    # obj2.name='wolawola'#设置name属性
    # print(obj2.name)#输出name属性
    # print(obj2.index.name)#输出索引的name属性
  6.  
  7. #字典数据类型创建Series
    # data={'a':1000,'b':2000,'c':3000,'d':4000}
    # s=Series(data)
    # print(s)
  8.  
  9. #Series进行运算
    # data={'a':1000,'b':2000,'c':3000,'d':4000}
    # s=Series(data)
    # print(s*2)
  10.  
  11. #关系映射,返回值是bool类型
    # data={'a':1000,'b':2000,'c':3000,'d':4000}
    # s=Series(data)
    # print('a' in s)
  12.  
  13. #分别创建index和value创建Series
    # dt=[1,2,3,4,5]
    # id=['a','b','c','d','e','f']
    # data=Series(dt,index=id)
    # print(data)
  14.  
  15. #判断是否为空值
    # data={'a':1000,'b':2000,'c':3000,'d':4000}
    # s=Series(data)
    # print(s.isnull)
  16.  
  17. #----------------------------------------------------
    #DataFrame
  18.  
  19. #字典数据类型创建DataFrame
    # data={'state':['a','b','c','d'],
    # 'year':[1991,1992,1993,1994],
    # 'pop':[6,7,8,9]}
    # frame=DataFrame(data)
    # frame=DataFrame(data,columns=['year','state','pop','age'])#没有age,传入NaN值
    # print(frame)
    # # print(frame['year'])#输出年份
    # # print(frame.state)
    # print(frame.columns)#输出列名
    # frame['age']=np.arange(4)#给age属性增加值
    # print(frame)
  20.  
  21. #嵌套字典:外层的键作为列,内层的键作为行索引
    # pop={'a':{1:1000,2:2000},
    # 'b':{1:5000,3:3000,4:4000},
    # }
    # frame=DataFrame(pop)
    # print(frame)
    # print(frame.T)#转置
  22.  
  23. #索引对象是不可以修改的,以下报错immutable
    # obj=Series(range(3),index=['a','b','c'])
    # obj.index[1]='d'
    # print(obj.index)
  24.  
  25. #reindex:重新索引,若值缺失则引入缺失值
    # obj=Series([23,4.5,-8,100],index=['b','c','a','d'])
    # print(obj)
    # reind=obj.reindex(['a','b','c','d','e'])
    # print(reind)
  26.  
  27. #向前填充索引,从index=0开始,遇到index=3时将值变为4.5
    #range()中的值是填充的范围,即索引的取值区间
    # obj=Series([23,4.5,-8],index=[0,3,5])
    # reind=obj.reindex(range(9),method='ffill')#ffill或pad:向前填充,bfill或backfill向后填充
    # print(reind)
  28.  
  29. #修改行索引,列,或者两个都修改,则会重新索引
    # frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
    # print(frame)
    # fr=frame.reindex(['a','b','c','d'])
    # print(fr)
  30.  
  31. #drop:丢弃制定轴上的项
    # frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
    # new_frame=frame.drop('a')
    # new_frame2=frame.drop('no.1',axis=1)
    # print(new_frame)
    # print(new_frame2)
  32.  
  33. #DataFrame和bool一起使用
    # frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
    # print(frame>3)
  34.  
  35. #ix在DataFrame中
    # frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'],columns=['no.1','no.2','no.3'])
    # f2=frame.ix['a','no.1']#两个参数,第一个是行,第二个是列
    # print(frame)
    # print(f2)
    #数据对齐# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'])# frame2=DataFrame(np.arange(16).reshape([4,4]),index=['a','b','c','d'])# print(frame+frame2)#重新索引frame,用frame2的列,所以会有空值,空值填0# frame=DataFrame(np.arange(9).reshape([3,3]),index=['a','b','c'])# frame2=DataFrame(np.arange(16).reshape([4,4]),index=['a','b','c','d'])# f=frame.reindex(columns=frame2.columns,fill_value=0)# print(f)#索引排序# frame=DataFrame(np.arange(8).reshape([2,4]),index=['three','one'],columns=['a','d','c','b'])# print(frame)# f1=frame.sort_index()# print(f1)# f2=frame.sort_index(axis=1)# print(f2)#Seriex ranking# s=Series([3,6,1,5,-1])# print(s.rank())#返回名次,从小到大# print(s.rank(ascending=False))#降序#DataFormat ranking# frame=DataFrame({'b':[2.5,1.6,9.0],'a':[4,7,5.7],'c':[2,9,7]})# print(frame)# f1=frame.rank(axis=1)# print(f1)#DataFrame和Series之间的运算:每行依次相减# arr=np.arange(12).reshape([3,4])# rs=arr-arr[0]# print(rs)#DataFrame和Series之间算术运算会将Series的索引匹配到DataFrame的列,然后沿着行一直向下广播#describe# obj=Series(['a','b','c','d'])# print(obj)# print(obj.describe())#切分行和列# arr=np.arange(12).reshape([3,4])# df=DataFrame(arr,index=['a','b','c'],columns=['no.1','no.2','no.3','no.4'])# print(df)# print(df.iloc[1:3,2:4])#切分[1:3)行,[2:4)列

pandas数据结构练习题(部分)的更多相关文章

  1. 【UOJ#228】基础数据结构练习题 线段树

    #228. 基础数据结构练习题 题目链接:http://uoj.ac/problem/228 Solution 这题由于有区间+操作,所以和花神还是不一样的. 花神那道题,我们可以考虑每个数最多开根几 ...

  2. pandas教程1:pandas数据结构入门

    pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...

  3. uoj #228. 基础数据结构练习题 线段树

    #228. 基础数据结构练习题 统计 描述 提交 自定义测试 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧. 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手.于是她的 ...

  4. 【UOJ228】基础数据结构练习题(线段树)

    [UOJ228]基础数据结构练习题(线段树) 题面 UOJ 题解 我们来看看怎么开根? 如果区间所有值都相等怎么办? 显然可以直接开根 如果\(max-sqrt(max)=min-sqrt(min)\ ...

  5. Pandas数据结构

    Pandas处理以下三个数据结构 - 系列(Series) 数据帧(DataFrame) 面板(Panel) 这些数据结构构建在Numpy数组之上,这意味着它们很快. 维数和描述 考虑这些数据结构的最 ...

  6. 【线段树】uoj#228. 基础数据结构练习题

    get到了标记永久化 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧. 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手.于是她的好朋友九条可怜酱给她出了一道题. 给出一 ...

  7. python之pandas学习笔记-pandas数据结构

    pandas数据结构 pandas处理3种数据结构,它们建立在numpy数组之上,所以运行速度很快: 1.系列(Series) 2.数据帧(DataFrame) 3.面板(Panel) 关系: 数据结 ...

  8. 读书笔记一、pandas数据结构介绍

    pandas数据结构介绍 主要两种数据结构:Series和DataFrame.   Series   Series是一种类似于一维数组的对象,由一组数据(各种NumPy数据类型)+数据标签(即索引)组 ...

  9. 初探pandas——安装和了解pandas数据结构

    安装pandas 通过python pip安装pandas pip install pandas pandas数据结构 pandas常用数据结构包括:Series和DataFrame Series S ...

随机推荐

  1. 研磨SpringCloud系列(一)第一个Spring Boot应用

    在此之前,给大家推荐几个东西. STS,Spring官方基于eclipse做的扩展ide.Spring官方背书. 第二个,lombok,注解生成get/set,构造以及基本方法的插件,"隐藏 ...

  2. 动易CMS-搜索结果页显示自定义字段

    最终的页面: 步骤: 1.搜索标签代码 <input id="keyword" type="text" class="text" on ...

  3. Hadoop安全(1)——————美团Hadoop安全实践

    http://tech.meituan.com/hadoop-security-practice.html 前言 在2014年初,我们将线上使用的 Hadoop 1.0 集群切换到 Hadoop 2. ...

  4. JSP入门 taglib

    自定义标签库(taglib),将原本需要写在jsp中的java代码封装起来,成为可复用的组件. taglib的写法和jsp动作(action)很相似,是由taglib前缀,冒号,标签名三者的组合体.其 ...

  5. apollo实现c#与android消息推送(四)

    4  Android代码只是为了实现功能,比较简单,就只是贴出来 package com.myapps.mqtttest; import java.util.concurrent.Executors; ...

  6. C#中的原子操作Interlocked,你真的了解吗?

    阅读目录 背景 代码描述 越分析越黑暗 结语 一.背景 这个标题起的有点标题党的嫌疑[捂脸],这个事情的原委是这样的,有个Web API的站点在本地使用Release模式Run的时候出现问题,但是使用 ...

  7. winPcap编程之获取适配器详细信息(三)

    显示适配器详细信息 先贴上代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #includ ...

  8. Android 发展史

    1. 概述 http://zh.wikipedia.org/wiki/Android# 2. Android版本发布表 Time Code name Version API level  2014年1 ...

  9. MSDN-9月杂志推荐

    序言:MSDN Magazine频道每月都会推出杂志,提供给广大开发者免费阅读,文章的作者往往都是国内外技术大牛.而且翻译良好(机器翻译除外)排班工整,是技术进阶的绝美助力! 本系列文章会关注MSDN ...

  10. wpf C# 数据库 c/s 个人信息管理 wpf局域网通信

    系统功能基本要求 wpf局域网通信 WPF跨线程访问线程安全的数据如解决该类型的CollectionView不支持从调度程序线程以外的线程对其SourceCollection 读取信息null 读取发 ...