首先熟悉numpy随机n维数组的生成方法(只列出常用的函数):

np.random.random([3, 4])     #生成shape为[3, 4]的随机数组,随机数范围[0.0, 1.0)
np.random.rand(3,4,5) #生成shape为[3, 4, 5]的随机数组,随机数范围[0.0, 1.0)
np.random.randn(3,4) #生成shape为[3,4]的随机数组,其中样本符合标准正态分布

pandas两种典型数据结构及创建方式:

  • Series

    In [4]: s = pd.Series([1,3,5,np.nan,6,8])
    
    In [5]: s
    Out[5]:
    0 1.0
    1 3.0
    2 5.0
    3 NaN
    4 6.0
    5 8.0
    dtype: float64
  • DataFrame

    • 通过np.random多维数组创建
    In [6]: dates = pd.date_range('20130101', periods=6)
    
    In [7]: dates
    Out[7]:
    DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
    '2013-01-05', '2013-01-06'],
    dtype='datetime64[ns]', freq='D') In [8]: df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD')) In [9]: df
    Out[9]:
    A B C D
    2013-01-01 0.469112 -0.282863 -1.509059 -1.135632
    2013-01-02 1.212112 -0.173215 0.119209 -1.044236
    2013-01-03 -0.861849 -2.104569 -0.494929 1.071804
    2013-01-04 0.721555 -0.706771 -1.039575 0.271860
    2013-01-05 -0.424972 0.567020 0.276232 -1.087401
    2013-01-06 -0.673690 0.113648 -1.478427 0.524988
    • 通过字典创建
    In [10]: df2 = pd.DataFrame({ 'A' : 1.,
    'B' : pd.Timestamp('20130102'),
    'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
    'D' : np.array([3] * 4,dtype='int32'),
    'E' : pd.Categorical(["test","train","test","train"]),
    'F' : 'foo' }) In [11]: df2
    Out[11]:
    A B C D E F
    0 1.0 2013-01-02 1.0 3 test foo
    1 1.0 2013-01-02 1.0 3 train foo
    2 1.0 2013-01-02 1.0 3 test foo
    3 1.0 2013-01-02 1.0 3 train foo

pandas选取数据

df['2']     #一个参数是表示取某列
df[0: 2] #范围参数表示取某一范围的行!注意与上面区别
df.loc['20130102' : '20130104', ['A', 'B']] #通过标签名切取数据
df.iloc[3: 5, [0, 2]] #通过索引值切取数据
df[df[] > 0] #里面的df[]结合第一二条切取一定范围的数据
df.drop_duplicates(['pop', 'state']) #去重:去除同时满足两列重复的冗余行
df = data[data['A' == 2]] #删除所有在列'A'中等于2的行

pandas数据处理攻略的更多相关文章

  1. Moon.Orm3.8技术全攻略

    Moon.ORM技术全攻略  一.绪论 本文主要是针对Moon.ORM的技术的讨论及其使用使用指导.如有其它疑问,请留言.本文主要针对Moon.ORM3.9版本,同时将会对4.0做一个技术预览.本文从 ...

  2. Anaconda使用教程全攻略

    Anaconda使用教程全攻略 本文转自 https://zhuanlan.zhihu.com/p/32925500           〇.序 Python是一种面向对象的解释型计算机程序设计语言, ...

  3. 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法

    若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...

  4. 微软MVP攻略 (如何成为MVP?一个SQL Server MVP的经验之谈)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 初衷 什么是微软MVP? 成为微软MVP的条件? 如何成为微软MVP? (一) 申请时间划分 (二) 前期准备 (三) ...

  5. Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

    Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...

  6. linux下安装apache与php;Apache+PHP+MySQL配置攻略

    1.apache   在如下页面下载apache的for Linux 的源码包    http://www.apache.org/dist/httpd/;   存至/home/xx目录,xx是自建文件 ...

  7. 生成 PDF 全攻略【2】在已有PDF上添加内容

    项目在变,需求在变,不变的永远是敲击键盘的程序员..... PDF 生成后,有时候需要在PDF上面添加一些其他的内容,比如文字,图片.... 经历几次失败的尝试,终于获取到了正确的代码书写方式. 在此 ...

  8. Java数组技巧攻略

      Java数组技巧攻略 0.  声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...

  9. BZOJ3252: 攻略

    Description 题目简述:树版[k取方格数]   众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏. 今天他得到了一款新游戏<XX半岛>,这款游戏有n个场景 ...

随机推荐

  1. 看到的一个关于C++能力分级的描述

    精通没有标准,但学习有路径. 我来说说 学习掌握C++的路径吧,从低到高,分0-10级: 0级:掌握常见C++语法和语言构造,能够顺溜地写清楚各种语言构造(很多小白鼠死在这里)1级:掌握基本的编程范式 ...

  2. django之ReverseOneToOneDescriptor

    class ReverseOneToOneDescriptor(object): """ Accessor to the related object on the re ...

  3. leetcode1023

    class Solution(object): def getGroup(self,que): group = list() temp = '' for i in range(len(que)): c ...

  4. leetcode1017

    这道题目很巧妙,似乎是有些过于巧妙了,属于我未知领域的类型,把原作者的解决方案放这里.(看大家都在给差评,我也顺手给个差评吧--) 参考:https://leetcode.com/problems/c ...

  5. react-navigation,StackNavigator,TabNavigator 导航使用

    StackNavigator  参考这里 TabNavigator  参考这里 是一个组合,我把这2个写在一起了 代码: import React, { Component } from 'react ...

  6. 深度学习原理与框架-Tensorflow基本操作-mnist数据集的逻辑回归 1.tf.matmul(点乘操作) 2.tf.equal(对应位置是否相等) 3.tf.cast(将布尔类型转换为数值类型) 4.tf.argmax(返回最大值的索引) 5.tf.nn.softmax(计算softmax概率值) 6.tf.train.GradientDescentOptimizer(损失值梯度下降器)

    1. tf.matmul(X, w) # 进行点乘操作 参数说明:X,w都表示输入的数据, 2.tf.equal(x, y) # 比较两个数据对应位置的数是否相等,返回值为True,或者False 参 ...

  7. 微信小程序实例源码大全下载

     小程序QQ交流群:131894955  小程序开发直播腾讯课堂:  https://edu.csdn.net/course/detail/6743 微信小程序实例源码大全下载 微信小应用示例代码(p ...

  8. Mac 命令行,自定义命令

    例如自定义命令 gotoXFolder, 直接进入XFolder文件夹, XFolder地址为~/abc/def/Xfolder 步骤: 1. 在home文件夹下创建.profile文件 在.prof ...

  9. 如何让cxgrid自动调整列宽

    1.选中cxgridview,在属性中找OptionsView--->ColumAutoWidth,把这个属性设为True; 2.在FDMemtable的open之后加上如下代码即可 [delp ...

  10. JDBC使用步骤分哪几步?

    (1) 加载JDBC驱动程序: Cllass.forName(" 驱动程序" );   //你要连接的数据库对象 (2) 建立连接 Connection conn=DriverMa ...