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之编写类之三子类
Oct 11 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
对于Python中RawString的理解介绍
Jul 07 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
如何基于python对接钉钉并获取access_token
Apr 21 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 Python
安装pyinstaller遇到的各种问题(小结)
Nov 20 Python
python 利用jieba.analyse进行 关键词提取
Dec 17 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
忆童年!用Python实现愤怒的小鸟游戏
Jun 07 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文件读取方法实例分析
2015/06/20 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
详解Python中with语句的用法
2015/04/15 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
通过自学python能找到工作吗
2020/06/21 Python
Python 合并拼接字符串的方法
2020/07/28 Python
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
刘公岛导游词
2015/02/05 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
专家推荐信怎么写
2015/03/25 职场文书
追悼会悼词大全
2015/06/23 职场文书
运动会100米广播稿
2015/08/19 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
教你用Java Swing实现自助取款机系统
2021/06/11 Java/Android
使用scrapy实现增量式爬取方式
2022/06/21 Python
基于Python实现西西成语接龙小助手
2022/08/05 Golang