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 相关文章推荐
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
Python语言生成水仙花数代码示例
Dec 18 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
Python交互环境下实现输入代码
Jun 22 Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 Python
python 文件查找及内容匹配方法
Oct 25 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
python算法与数据结构之单链表的实现代码
Jun 27 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
python实现web邮箱扫描的示例(附源码)
Mar 30 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 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
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
php简单截取字符串代码示例
2016/10/19 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
Python多线程编程简单介绍
2015/04/13 Python
在Python中使用元类的教程
2015/04/28 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python读取Kafka实例
2019/12/23 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
nohup的用法
2014/08/10 面试题
搞笑创意广告语
2014/03/17 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
好的旅游活动方案
2014/08/19 职场文书
2015年班组工作总结
2015/04/20 职场文书
V Rising 服务器搭建图文教程
2022/06/16 Servers
MySQL主从切换的超详细步骤
2022/06/28 MySQL