Python3.5 Pandas模块之DataFrame用法实例分析


Posted in Python onApril 23, 2019

本文实例讲述了Python3.5 Pandas模块之DataFrame用法。分享给大家供大家参考,具体如下:

1、DataFrame的创建

(1)通过二维数组方式创建

Python3.5 Pandas模块之DataFrame用法实例分析

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#1.DataFrame通过二维数组创建
print("======DataFrame直接通过二维数组创建======")
d1 = DataFrame([["a","b","c","d"],[1,2,3,4]])
print(d1)

print("======DataFrame借助array二维数组创建======")
arr = np.array([
  ["jack",78],
  ["lili",86],
  ["amy",97],
  ["tom",100]
])

d2 = DataFrame(arr,index=["01","02","03","04"],columns=["姓名","成绩"])
print(d2)
print("========打印行索引========")
print(d2.index)
print("========打印列索引========")
print(d2.columns)
print("========打印值========")
print(d2.values)

运行结果:

======DataFrame直接通过二维数组创建======
   0  1  2  3
0  a  b  c  d
1  1  2  3  4
======DataFrame借助array二维数组创建======
      姓名   成绩
01  jack   78
02  lili   86
03   amy   97
04   tom  100
========打印行索引========
Index(['01', '02', '03', '04'], dtype='object')
========打印列索引========
Index(['姓名', '成绩'], dtype='object')
========打印值========
[['jack' '78']
 ['lili' '86']
 ['amy' '97']
 ['tom' '100']]

(2)通过字典方式创建

Python3.5 Pandas模块之DataFrame用法实例分析

#2.DataFrame通过字典创建,键作为列索引,键值作为数据值,行索引值自动生成

data = {
  "apart":['1101',"1102","1103","1104"],
  "profit":[2000,4000,5000,3500],
  "month":8
}

d3 = DataFrame(data)
print(d3)
print("========行索引========")
print(d3.index)
print("========列索引========")
print(d3.columns)
print("========数据值========")
print(d3.values)

运行结果:

apart  month  profit
0  1101      8    2000
1  1102      8    4000
2  1103      8    5000
3  1104      8    3500
========行索引========
RangeIndex(start=0, stop=4, step=1)
========列索引========
Index(['apart', 'month', 'profit'], dtype='object')
========数据值========
[['1101' 8 2000]
 ['1102' 8 4000]
 ['1103' 8 5000]
 ['1104' 8 3500]]

2、DataFrame数据获取

Python3.5 Pandas模块之DataFrame用法实例分析

Python3.5 Pandas模块之DataFrame用法实例分析

Python3.5 Pandas模块之DataFrame用法实例分析

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#3.DataFrame获取数据
data = {
  "apart":['1101',"1102","1103","1104"],
  "profit":[2000,4000,5000,3500],
  "month":8
}

d3 = DataFrame(data)
print(d3)

print("======获取一列数据======")
print(d3["apart"])
print("======获取一行数据======")
print(d3.ix[1])

print("======修改数据值======")
d3["month"] = [7,8,9,10]        #修改值
d3["year"] = [2001,2001,2003,2004]   #新增列
d3.ix["4"] = np.NaN
print(d3)

运行结果:

 apart  month  profit
0  1101      8    2000
1  1102      8    4000
2  1103      8    5000
3  1104      8    3500
======获取一列数据======
0    1101
1    1102
2    1103
3    1104
Name: apart, dtype: object
======获取一行数据======
apart     1102
month        8
profit    4000
Name: 1, dtype: object
======修改数据值======
  apart  month  profit    year
0  1101    7.0  2000.0  2001.0
1  1102    8.0  4000.0  2001.0
2  1103    9.0  5000.0  2003.0
3  1104   10.0  3500.0  2004.0
4   NaN    NaN     NaN     NaN

3、pandas基本功能

Python3.5 Pandas模块之DataFrame用法实例分析

(1)pandas数据文件读取

Python3.5 Pandas模块之DataFrame用法实例分析

Python3.5 Pandas模块之DataFrame用法实例分析

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#pandas基本操作
#1.数据文件读取

df = pd.read_csv("data.csv")
print(df)

运行结果:

    name  age  source
0  gerry   18    98.5
1    tom   21    78.2
2   lili   24    98.5
3   john   20    89.2

(2)数据过滤获取

Python3.5 Pandas模块之DataFrame用法实例分析

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

#pandas基本操作
#1.数据文件读取

df = pd.read_csv("data.csv")
print(df)

#2.数据过滤获取

columns = ["姓名","年龄","成绩"]
df.columns = columns    #更改列索引
print("=======更改列索引========")
print(df)

#获取几列的值
df1 = df[columns[1:]]
print("=======获取几列的值========")
print(df1)
print("=======获取几行的值========")
print(df.ix[1:3])

#删除含有NaN值的行
df2 = df1.dropna()
print("=======删除含有NaN值的行=======")
print(df2)

运行结果:

 name  age  source
0  gerry   18    98.5
1    tom   21     NaN
2   lili   24    98.5
3   john   20    89.2
=======更改列索引========
      姓名  年龄    成绩
0  gerry  18  98.5
1    tom  21   NaN
2   lili  24  98.5
3   john  20  89.2
=======获取几列的值========
   年龄    成绩
0  18  98.5
1  21   NaN
2  24  98.5
3  20  89.2
=======获取几行的值========
     姓名  年龄    成绩
1   tom  21   NaN
2  lili  24  98.5
3  john  20  89.2
=======删除含有NaN值的行=======
   年龄    成绩
0  18  98.5
2  24  98.5
3  20  89.2

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
Python的__builtin__模块中的一些要点知识
May 02 Python
深入分析python中整型不会溢出问题
Jun 18 Python
python计算列表内各元素的个数实例
Jun 29 Python
浅谈Python脚本开头及导包注释自动添加方法
Oct 27 Python
值得收藏,Python 开发中的高级技巧
Nov 23 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
python解析xml简单示例
Jun 21 Python
python的faker库用法
Nov 28 Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 Python
python IDLE添加行号显示教程
Apr 25 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
Python3.5 Pandas模块之Series用法实例分析
Apr 23 #Python
使用Python控制摄像头拍照并发邮件
Apr 23 #Python
详解Python静态网页爬取获取高清壁纸
Apr 23 #Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 #Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 #Python
详解Python 函数如何重载?
Apr 23 #Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 #Python
You might like
php读取xml实例代码
2010/01/28 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
Python的Django框架中if标签的相关使用
2015/07/15 Python
python如何实现excel数据添加到mongodb
2015/07/30 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
香港化妆品经销商:我的公主
2016/08/05 全球购物
置业顾问岗位职责
2014/03/02 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers