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实现的金山快盘的签到程序
Jan 17 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
如何基于python操作excel并获取内容
Dec 24 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
python+opencv边缘提取与各函数参数解析
Mar 09 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
Feb 25 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
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
ThinkPHP中I(),U(),$this->post()等函数用法
2014/11/22 PHP
PHP实现文件下载详解
2014/11/27 PHP
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
详解Nuxt.js 实战集锦
2019/11/19 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
Python序列操作之进阶篇
2016/12/08 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Python如何对XML 解析
2020/06/28 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
css3实现背景动态渐变效果
2019/12/10 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
软件部经理岗位职责范本
2014/02/25 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
退休欢送会致辞
2015/07/31 职场文书
办公室卫生管理制度
2015/08/04 职场文书
大学生社会实践感想
2015/08/11 职场文书
创业计划书之熟食店
2019/10/16 职场文书
浅析Python中的套接字编程
2021/06/22 Python