Python3.5 Pandas模块之DataFrame用法实例分析
作者:loveliuzz 发布时间:2022-12-22 20:45:16
本文实例讲述了Python3.5 Pandas模块之DataFrame用法。分享给大家供大家参考,具体如下:
1、DataFrame的创建
(1)通过二维数组方式创建
#!/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)通过字典方式创建
#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数据获取
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基本功能
(1)pandas数据文件读取
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)数据过滤获取
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程序设计有所帮助。
来源:https://blog.csdn.net/loveliuzz/article/details/78498094
猜你喜欢
- 在我们开始一个项目的设计的时候,脑子里肯定有无数的构想。是做视觉冲击强烈、夺人眼球的绚丽风格?还是复古的拼贴风?又或者目前最in的极简主义设
- 相信大家平时都有这样的经历:页面上有一个链接指向服务器一个Word文件,当客户端机器有安装Office时,点击链接将调用Word打开浏览;当
- 本文实例讲述了Python正则表达式实现截取成对括号的方法。分享给大家供大家参考,具体如下:strs = '1(2(3(4(5(67
- Yahoo发布了一款基于FireFox的插件,名叫YSlow,这个插件可以分析网站的页面,并告诉你为了提高网站性能,如何基于某些规则而进行优
- 开发中经常会遇得到需要多种条件组合查询的情况,比如有三个表,年级表Grade(GradeId,GradeName),班级Class(Clas
- 本文实例总结了Python字典常见操作。分享给大家供大家参考,具体如下:简单的字典:字典就是键值对key-value组合。#字典 键值对组合
- 在Python中如何实现单例模式?这可以说是一个经典的Python面试题了。这回我们讲讲实现Python中实现单例模式的n种方式,和它的原理
- 列表生成式语法:[x*x for x in range(0,10)] //列表生成式,这里是中括号//结果 [0, 1, 4, 9, 16,
- 这一段时间,我在进行“09帮助中心升级”项目,负责其中的白板和视觉设计,总算和Axure有了第一次的正式会晤。由于之前已经零散地学习过一些A
- <base href="http://digi.tech.qq.com/images/ld/2007/1022/
- 最近写程序需要从文件中读取数据,并把读取的数据转换成向量。查阅资料之后找到了读取csv文件和txt文件两种方式,下面结合自己的实验过程,做简
- 一.基本数据类型整数:int字符串:str(注:\t等于一个tab键)布尔值: bool列表:list (元素的集合)列表用[]元祖:tup
- PIL 图像处理库PIL(Python Imaging Library) 是 Python 平台的图像处理标准库。不过 PIL 暂不支持 P
- 本文实例为大家分享了python OpenCV来表示USB摄像头画面的具体代码,供大家参考,具体内容如下确认Python版本$ python
- 本文实例为大家分享了python批量下载抖音视频的具体代码,供大家参考,具体内容如下知识储备:博主是在Pycharm下进行的 文件夹:dou
- 上次还是CSDN里的朋友回答的,我复制了下来。原文如下 =========================== 利用统计文章字数,然后达到一
- 注意:我用的python2.7,大家如果用Python3.0以上的版本,请记得在print()函数哦!如果因为版本问题评论的,不做回复哦!!
- 目录生成器nextsendthrowclose使用场景大集合的生成简化代码结构协程与并发总结生成器如果在一个方法内,包含了 yield 关键
- 开始之前当然要导入模块啦:>>> import pymongo下一步,必须本地mongodb服务器的安装和启动已经完成,才
- SQLite数据库使用单个磁盘文件,并且不需要像Oracle、MSSQL、MySQL等数据库管理系统那样启动服务,使用非常灵活方便。但是SQ