参考文献:《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. DBMS数据库语言

    https://www.yiibai.com/dbms/dbms-language.html DBMS具有适当的语言和接口来表达数据库查询和更新.数据库语言可用于读取,存储和更新数据库中的数据. 数据 ...

  2. mysql查询-从表1中查询出来的结果重新插入到表1

    原有表结构 CREATE TABLE `t_card_user` ( `id` varchar(32) NOT NULL, `card_user_id` bigint(20) DEFAULT NULL ...

  3. memcached内存分配

    Memcached默认情况下采用了名为Slab Allocator的机制分配.管理内存,最大单个存储对象大小为1M. page:分配给slab的最小内存空间,默认为1M,可以在启动时通过-l参数修改 ...

  4. Linux文件和目录的权限笔记

    查看文件或者目录的权限命令:ls -al # -a 表示全部文件包含隐藏文件,-l 表示列出每个文件的详细信息 比如执行 ls -al total 115 drwxr--x--- 4 root roo ...

  5. 【51nod 1092】 回文字符串(区间DP)

    回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符串都可以通过向中间添加一些字符,使之变为回文字符串. 例如:abbc 添加2个字符可以变为 acbbca,也可以添加3 ...

  6. [转]Selenium-Webdriver系列Python版教程(1)————快速开始

    elenium的历史,selenium2与WebDriver的关系本文就不讲了,想了解的同学们百度一下就可以Ok.     本系列教程是以Selenium-WebDriver的Python版本,首先从 ...

  7. fiddler终极教程

    http://www.cnblogs.com/yoyoketang/tag/fiddler/

  8. linux中.bashrc 等文件中的rc是什么意思

    英文原义:RC (run command)中文释义:含有程序(应用程序甚至操作系统)启动指令的脚本文件 注 解:这一文件在操作系统启动时会自动执行,它含有要运行的指令(命令或其它脚本)列表. 相当于w ...

  9. Kubernetes集群中修复状态为NotReady的节点

    度个假回来发现自己集群中的节点都挂了,全部是NotReady状态 但是除了.10节点外,其他主机并没有挂,可以远程连接上, 那就考虑是kubernetes系统的问题 解决的方法是重启kube-prox ...

  10. Personal Recommendation Using Deep Recurrent Neural Networks in NetEase读书笔记

    一.文章综述 1.研究目的:实现网易考拉电商平台的商品高效实时个性化推荐.缩短用户与目标商品的距离,让用户点击最少的页面就可以得到想要的商品 2.研究背景:基于用户和基于物品的协同过滤(Collabo ...