Python pandas DataFrame操作的实现代码
作者:huahuayu 发布时间:2021-07-24 00:49:43
标签:Python,pandas,DataFrame
1. 从字典创建Dataframe
>>> import pandas as pd
>>> dict1 = {'col1':[1,2,5,7],'col2':['a','b','c','d']}
>>> df = pd.DataFrame(dict1)
>>> df
col1 col2
0 1 a
1 2 b
2 5 c
3 7 d
2. 从列表创建Dataframe (先把列表转化为字典,再把字典转化为DataFrame)
>>> lista = [1,2,5,7]
>>> listb = ['a','b','c','d']
>>> df = pd.DataFrame({'col1':lista,'col2':listb})
>>> df
col1 col2
0 1 a
1 2 b
2 5 c
3 7 d
3. 从列表创建DataFrame,指定data和columns
>>> a = ['001','zhangsan','M']
>>> b = ['002','lisi','F']
>>> c = ['003','wangwu','M']
>>> df = pandas.DataFrame(data=[a,b,c],columns=['id','name','sex'])
>>> df
id name sex
0 001 zhangsan M
1 002 lisi F
2 003 wangwu M
4. 修改列名,从['id','name','sex']修改为['Id','Name','Sex']
>>> df.columns = ['Id','Name','Sex']
>>> df
Id Name Sex
0 001 zhangsan M
1 002 lisi F
2 003 wangwu M
5. 调整DataFrame列顺序、调整列编号从1开始
https://www.jb51.net/article/163644.htm
6. DataFrame随机生成10行4列int型数据
>>> import pandas
>>> import numpy
>>> df = pandas.DataFrame(numpy.random.randint(0,100,size=(10, 4)), columns=list('ABCD')) # 0,100指定随机数为0到100之间(包括0,不包括100),size = (10,4)指定数据为10行4列,column指定列名
>>> df
A B C D
0 67 28 37 66
1 21 27 43 37
2 73 54 98 85
3 40 78 4 93
4 99 60 63 16
5 48 46 24 61
6 59 52 62 28
7 20 74 36 64
8 14 13 46 60
9 18 44 70 36
7. 用时间序列做index名
>>> df # 原本index为自动生成的0~9
A B C D
0 31 25 45 67
1 62 12 61 88
2 79 36 20 97
3 26 57 50 44
4 24 12 50 1
5 4 61 99 62
6 40 47 52 27
7 83 66 71 4
8 58 59 25 62
9 38 81 60 8
>>> import pandas
>>> dates = pandas.date_range('20180121',periods=10)
>>> dates # 从20180121开始,共10天
DatetimeIndex(['2018-01-21', '2018-01-22', '2018-01-23', '2018-01-24',
'2018-01-25', '2018-01-26', '2018-01-27', '2018-01-28',
'2018-01-29', '2018-01-30'],
dtype='datetime64[ns]', freq='D')
>>> df.index = dates # 将dates赋值给index
>>> df
A B C D
2018-01-21 31 25 45 67
2018-01-22 62 12 61 88
2018-01-23 79 36 20 97
2018-01-24 26 57 50 44
2018-01-25 24 12 50 1
2018-01-26 4 61 99 62
2018-01-27 40 47 52 27
2018-01-28 83 66 71 4
2018-01-29 58 59 25 62
2018-01-30 38 81 60 8
8. dataframe 实现类SQL操作
pandas官方文档 Comparison with SQL
https://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html
来源:https://www.cnblogs.com/huahuayu/p/8227494.html


猜你喜欢
- 1. Python中的异常栈跟踪之前在做Java的时候,异常对象默认就包含stacktrace相关的信息,通过异常对象的相关方法printS
- 本文实例讲述了Python实现求解括号匹配问题的方法。分享给大家供大家参考,具体如下:这个在本科学习数据结构的时候已经接触很多了,主流的思想
- 在家无聊,线代和高数看不懂,整点事情干,就准备预定回学校的高铁票,于是就有了这个文章准备工作1.pip安装chromediver,当然也可以
- Config:服务端连接Git配置,代码如下所示:1、导入依赖<dependencies> <d
- 1. AdaBoost 算法简介Boosting是机器学习的三大框架之一,其特点是,训练过程中的诸多弱模型,彼此之间有着强依赖关系。Boos
- 最近想把word密码文件的服务器密码信息归档到mysql数据库,心想着如果直接在里面写明文密码会不会不安全,如果用sha这些不可逆的算法又没
- 本文实例讲述了Python队列RabbitMQ 使用方法。分享给大家供大家参考,具体如下:目前的exchange的路由策略是:每个需要队列的
- 背景在进行接口自动化测试的时候,对响应结果进行校验,基本上都是对json数据的校验,响应内容十分复杂,当然验证也是一个很庞大的工程 ,不过都
- 多行正则表达式是对象的只读布尔属性。它指定是否一个特定的正则表达式进行多行匹配,即,不管是否使用“m”属性创建。语法RegExp
- 这篇文章主要介绍了python已协程方式处理任务实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 根据菜鸟教程Django教程学习,运行"python manage.py migrate" 报错,出现django.db
- 一、安装cuda1、在英伟达官网下载最新版的cuda驱动https://developer.nvidia.com/zh-cn/cuda-do
- 排序问题最近看了极客时间上 《MySQL实战45讲》,纠正了一直以来对 InnoDB 二级索引的一个理解不到位,正好把相关内容总结下。PS:
- <div style='display:none'> <script type="text/ja
- 冻结的集合前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是:&
- 今天发现百度图片搜索结果的2级页面改版了,在浏览图片的时候很好用:如图:在浏览图片的时候,右侧的缩略图是这样交互的:因此,在整个浏览图片的过
- 面向对象编程的2个非常重要的概念:类和对象对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另
- 用了on error resume next则在这句往后的代码就算出错也会继续执行具体有没有错可以用err.number来判断err.num
- 配置说明 Linux版本:Centos7 M
- 导言:在前面的第62章《GridView批量更新数据》里,我们用GridView控件里定制了一个批编辑界面,同样的我们也可以定制一个批添加界