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 cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
解决Python 中英文混输格式对齐的问题
Jul 16 Python
Pycharm更换python解释器的方法
Oct 29 Python
python可视化实现代码
Jan 15 Python
使用python list 查找所有匹配元素的位置实例
Jun 11 Python
django 扩展user用户字段inlines方式
Mar 30 Python
如何实现更换Jupyter Notebook内核Python版本
May 18 Python
Django Auth用户认证组件实现代码
Oct 13 Python
python 写一个水果忍者游戏
Jan 13 Python
python实现进度条的多种实现
Apr 29 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
php开启安全模式后禁用的函数集合
2011/06/26 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
vue实现倒计时获取验证码效果
2020/04/17 Javascript
python在windows下实现备份程序实例
2014/07/04 Python
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
python win32 简单操作方法
2017/05/25 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
python中对数据进行各种排序的方法
2019/07/02 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
英语专业毕业生自荐信
2013/10/28 职场文书
大专生自我评价
2014/01/28 职场文书
护林员个人总结
2015/03/04 职场文书
个人工作能力自我评价
2015/03/05 职场文书
python xlwt模块的使用解析
2021/04/13 Python
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
Java设计模式之代理模式
2022/04/22 Java/Android