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聊天程序实例代码分享
Nov 18 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 Python
使用Python将数组的元素导出到变量中(unpacking)
Oct 27 Python
Django实现组合搜索的方法示例
Jan 23 Python
Python多重继承的方法解析执行顺序实例分析
May 26 Python
详解Python使用Plotly绘图工具,绘制甘特图
Apr 02 Python
python多进程下实现日志记录按时间分割
Jul 22 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
使用django和vue进行数据交互的方法步骤
Nov 11 Python
Windows下Anaconda和PyCharm的安装与使用详解
Apr 23 Python
深入浅析python 中的self和cls的区别
Jun 20 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
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
同时提取多条新闻中的文本一例
2006/10/09 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
TP3.2.3框架文件上传操作实例详解
2020/01/23 PHP
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
python检测服务器是否正常
2014/02/16 Python
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
django 实现简单的插入视频
2020/04/07 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
详解CSS3实现响应式手风琴效果
2020/06/10 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
外语系毕业生求职自荐信
2014/04/12 职场文书
个人委托书
2014/07/31 职场文书
五年级上册复习计划
2015/01/19 职场文书
2015小学师德工作总结
2015/07/21 职场文书
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
MySQL七种JOIN类型小结
2021/10/24 MySQL
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL
MySQL常用慢查询分析工具详解
2022/08/14 MySQL
TypeScript 内置高级类型编程示例
2022/09/23 Javascript