Python pandas DataFrame操作的实现代码

yipeiwu_com6年前Python基础

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开始
/post/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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中强大的命令行库click入门教程

前言 我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析、批处理,Androd&iOS自动打包等功能。该项目是由其他部门继承过来的,由于绝大部分代...

Python 函数返回值的示例代码

0x 00 返回值简介 回顾下,上一节简单介绍了函数及其各种参数,其中也有简单介绍 print 和 return 的区别,print 仅仅是打印在控制台,而 return 则是将 re...

研究Python的ORM框架中的SQLAlchemy库的映射关系

前面介绍了关于用户账户的User表,但是现实生活中随着问题的复杂化数据库存储的数据不可能这么简单,让我们设想有另外一张表,这张表和User有联系,也能够被映射和查询,那么这张表可以存储关...

详解python实现交叉验证法与留出法

详解python实现交叉验证法与留出法

在机器学习中,我们经常在训练集上训练模型,在测试集上测试模型。最终的目标是希望我们的模型在测试集上有最好的表现。 但是,我们往往只有一个包含m个观测的数据集D,我们既要用它进行训练,又要...

Python调用百度根据经纬度查询地址的示例代码

如下所示: def locatebyLatLng(lat, lng, pois=0): ''' 根据经纬度查询地址 ''' items = {'location': str(...