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利用正则表达式搜索单词示例代码
Sep 24 Python
tornado 多进程模式解析
Jan 15 Python
利用python修改json文件的value方法
Dec 31 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 Python
新手如何发布Python项目开源包过程详解
Jul 11 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
Dec 12 Python
pytorch ImageFolder的覆写实例
Feb 20 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 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+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
php 保留字列表
2012/10/04 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python使用回溯法子集树模板解决迷宫问题示例
2017/09/01 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
python实现在线翻译功能
2020/03/03 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
大专应届生个人的自我评价
2013/11/21 职场文书
委托证明的格式
2014/01/10 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
入党自我评价范文
2014/02/02 职场文书
公立医院改革实施方案
2014/03/14 职场文书
法律专业自荐信
2014/06/03 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
物业公司管理制度
2015/08/05 职场文书
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
vue修饰符.capture和.self的区别
2022/04/22 Vue.js