参考文献:《Python金融大数据分析》

#导入模块
import pandas as pd #生成dataframe
df = pd.DataFrame([10,20,30,40], columns=['numbers'],index=['a','b','c','d'])
print('df:', df) #常用的一些操作
print('df.index:', df.index)
print('df.columns:', df.columns)
print("df.sum():", df.sum()) #以下操作等价
print(df**2)
print(df.apply(lambda x: x**2)) #关于索引的使用
#print("df.ix['a']:", df.ix['a'])
#print("df.ix[['a','c']]:", df.ix[['a','c']])
#print("df.ix[ df.index[[1,3]] ]:", df.ix[ df.index[[1,3]] ])
print("df['numbers']:", df['numbers']) #添加数据
#直接添加一列数据
df['float'] = (1.5, 2.3, 4.5, 6.7)
print('df:', df)
print("df['float']:", df['float'])
#print("df['float'].ix[['a', 'b']]", df['float'].ix[['a', 'b']]) #可以直接取dataframe作为一列,通过index指定对应的行
df['names'] = pd.DataFrame(['tom', 'lucy', 'denny', 'kate'], index=['d', 'c', 'b', 'a'])
print('df:', df)
#如果指定了一个不存在的index,那么默认不添加该记录,只添加已有index的记录,没有指定的index,默认值为NaN
df['names_s'] = pd.DataFrame(['tom', 'lucy', 'denny', 'king'], index=['d', 'c', 'b', 'z'])
print('df:', df) #补充数据,注意使用append方法不直接修改原dataframe
#注意。该方式下索引变更为简单索引,这是一个问题
df1 = df.append({'names':'haha', 'numbers':100, 'float':0.01, 'names_s':'xixi'}, ignore_index=True)
print('df:', df)
print('df1:', df1)
#一个正确提供索引信息的方式
df = df.append( pd.DataFrame( {'names':'haha', 'numbers':100, 'float':0.01, 'names_s':'xixi'}, index=['z',]) )
print('df:', df) #缺漏信息的处理:以原结构的索引为基准,不改变索引数目和名称,join默认添加已经存在的索引,新添加的(即原先不存在的)索引不添加新的索引和值,已存在未指定数值的索引默认值为NaN
df2 = df.join( pd.DataFrame([11,22,33,44,55], index=['a', 'b', 'c', 'd', 'y'], columns=['int']) )
print('df2:', df2)
#实现并集连接:即实现添加新的索引
df = df.join( pd.DataFrame([11,22,33,44,55], index=['a', 'b', 'c', 'd', 'y'], columns=['int']), how='outer' )
print('df:', df) #一些结果
print( "df[['numbers', 'int']].mean():", df[['numbers', 'int']].mean() )
print( "df[['numbers', 'int']].std():", df[['numbers', 'int']].std() )

小括号匹配的问题

import re

#小括号:匹配整个字段,但结果只取括号中匹配的字符串
text = r'http://baidu.com'
p = r'http://(.+?).com'
pat = re.compile(p)
print(pat.findall(text))#结果是['baidu'] text2 = r'matlab.python.ruby.python.c'
p2 = r'matlab.+?.ruby'
pat2 = re.compile(p2)
print(pat2.findall(text2))#结果是['matlab.python.ruby']
p3 = r'matlab(.+?.)ruby'
pat3 = re.compile(p3)
print(pat3.findall(text2))#结果是['.python.'] #如果需要精确匹配括号,通过添加反斜杠\的方式转义
text4 = r'matlab(python)ruby.matlab.python.ruby.c'
p4 = r'matlab(.+?.)ruby'
pat4 = re.compile(p4)
print(pat4.findall(text4))#结果是['(python)', '.python.'] p5 = r'matlab(\(.+?.\))ruby'
pat5 = re.compile(p5)
print(pat5.findall(text4))#结果是['(python)'] #匹配同一文本串中多个子部分内容
text6 = r'target="http://www.baidu.com" is "百度" and target="http://www.sougou.com" is "搜狗"'
p6 = r'target="(.+?)" is "(.+?)"'
pat6 = re.compile(p6)
print(pat6.findall(text6))#结果是[('http://www.baidu.com', '百度'), ('http://www.sougou.com', '搜狗')]

Python pandas学习笔记的更多相关文章

  1. Python pandas学习总结

    本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...

  2. 【转】Pandas学习笔记(一)基本介绍

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  3. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  4. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  5. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  6. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  7. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  8. Pandas 学习笔记

    Pandas 学习笔记 pandas 由两部份组成,分别是 Series 和 DataFrame. Series 可以理解为"一维数组.列表.字典" DataFrame 可以理解为 ...

  9. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

随机推荐

  1. docker的网络配置

    Docker的4种网络模式 我们在使用docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: host模式:使用–net=host指定. c ...

  2. dropuser - 删除一个 PostgreSQL 用户帐户

    SYNOPSIS dropuser [ option...] [ username] DESCRIPTION 描述 dropuser 删除一个现有 PostgreSQL 用户 和 该用户所有的数据库. ...

  3. autoHeight # 动态高度添加 用 window.addEventListener('resize', function () {

    动态高度添加 用 window.addEventListener('resize', function () { mounted () { this.init() window.addEventLis ...

  4. 第4节 hive调优:动态分区调整问题

    执行如下截图中的语句时卡住了: 原因:yarn未启动,hive底层是要提交mapreduce到yarn上才能计算结果的. 之前启动yarn时,未执行jps查看是否已经启动.其实未启动成功: [root ...

  5. bzoj 1098 [POI2007] 办公楼 biu

    # 解题思路 画画图可以发现,只要是两个点之间没有相互连边,那么就必须将这两个人安排到同一个办公楼内,如图所示: 那,我们可以建立补图,就是先建一张完全图,然后把题目中给出的边都删掉,这就是一张补图, ...

  6. [JOYOI] 1415 西瓜种植

    题目描述 笨笨种了一块西瓜地,但这块西瓜地的种植范围是一条直线的-- 笨笨在一番研究过后,得出了m个结论,这m个结论可以使他收获的西瓜最多. 笨笨的结论是这样的: 从西瓜地B处到E处至少要种植T个西瓜 ...

  7. 如何使用GoEasy实现PHP与Websocket实时通信

    最近搞了搞websocket 做了个简答的聊天demo 1.      从GoEasy获取appkey appkey是验证用户的有效性的唯一标识. Ø  注册账号. GoEasy官网:https:// ...

  8. redis:哨兵集群配置

    最少配置1主2从3哨兵 一.引言 上一篇文章我们详细的讲解了Redis的主从集群模式,其实这个集群模式配置很简单,只需要在Slave的节点上进行配置,Master主节点的配置不需要做任何更改,但是有一 ...

  9. gcc编译详解

    GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器.它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分.GCC原本作为GNU操作 ...

  10. perl学习之:@_ $_

    question 1 :数组@xxx调用时,每个元素应该用$xxx[0]/$xxx[1]...   来表示所以$_[0]表示@_的一个元素,和默认缺省变量$_无关,是两个东西请查阅数组元素调用相关章节 ...