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格式化css文件的方法
Mar 10 Python
python实现复制整个目录的方法
May 12 Python
在Python中,不用while和for循环遍历列表的实例
Feb 20 Python
Python逐行读取文件中内容的简单方法
Feb 26 Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
python爬虫项目设置一个中断重连的程序的实现
Jul 26 Python
如何在Anaconda中打开python自带idle
Sep 21 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 Python
如何使用Python提取Chrome浏览器保存的密码
Jun 09 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后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
Js基础学习资料
2010/11/23 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
利用python实现xml与数据库读取转换的方法
2017/06/17 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
python实现操作文件(文件夹)
2019/10/31 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
PyTorch-GPU加速实例
2020/06/23 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
个人实用简单的自我评价
2013/10/19 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
蓬莱阁导游词
2015/02/04 职场文书
搞笑结婚保证书
2015/05/08 职场文书