Pandas库中的DataFrame

1 简介

DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表

或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matlab也可以用cell存放多类型数据),DataFrame的单元格可以存放数值、字符串等,这和excel表很像。

同时DataFrame可以设置列名columns与行名index,可以通过像matlab一样通过位置获取数据也可以通过列名和行名定位,具体方法在后面细说。

2 创建DataFrame

首先声明一下,以下都是使用的Python 3.6.5版本为例,Python2应该也差不多吧(大概

在所有操作之前当然要先import必要的pandas库,因为pandas常与numpy一起配合使用,所以也一起import吧。

import pandas as pd
import numpy as np

如果还没安装直接在cmd里pip安装吧,如果有版本选择问题,参看之前的帖子。

pip install pandas pip install numpy

2.1 直接创建

可以直接使用pandas的DataFrame函数创建,比如接下来我们随机创建一个4*4的DataFrame。

 

df1=pd.DataFrame(np.random.randn(4,4),index=list(‘ABCD‘),columns=list(‘ABCD‘))

其中第一个参数是存放在DataFrame里的数据,第二个参数index就是之前说的行名(或者应该叫索引?),第三个参数columns是之前说的列名。

后两个参数可以使用list输入,但是注意,这个list的长度要和DataFrame的大小匹配,不然会报错。当然,这两个参数是可选的,你可以选择不设置。

而且发现,这两个list是可以一样的,但是每行每列的名字在index或columns里要是唯一的。

当然,如果你的数据量贼小,也可以自己输入创建,类似这样。

df2=pd.DataFrame([[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]],index=list(‘ABCD‘),columns=list(‘ABCD‘))

2.2 使用字典创建

仍然是使用DataFrame这个函数,但是字典的每个key的value代表一列,而key是这一列的列名。比如这样。

dic1={‘name‘:[‘小明‘,‘小红‘,‘狗蛋‘,‘铁柱‘],‘age‘:[17,20,5,40],‘gender‘:[‘男‘,‘女‘,‘女‘,‘男‘]} df3=pd.DataFrame(dic1)

3 查看与筛选数据

python没有matlab的工作区直接查看变量与内容,这大概是python科学计算的一个缺点。所以需要格外的代码来查看,最基本的直接写变量名与print就不说了。

3.1 查看列的数据类型

使用dtypes方法可以查看各列的数据类型,比如说刚刚的df3。

df3.dtypes

3.2 查看DataFrame的头尾

使用head可以查看前几行的数据,默认的是前5行,不过也可以自己设置。

使用tail可以查看后几行的数据,默认也是5行,参数可以自己设置。

比如随意设置一个6*6的数据,只看前5行。

df4=pd.DataFrame(np.random.randn(6,6)) df4.head()

比如只看前3行。

 df4.head(3)

比如看后5行。

 df4.tail(5)

比如只看后2行。

 df4.tail(2)

3.3 查看行名与列名

使用index查看行名,columns查看列名。具体由例子感受吧。

查看行名。

df1.index

查看列名。

df3.columns

原文地址:https://www.cnblogs.com/Niuxingyu/p/10472619.html

时间: 2024-07-29 19:40:40

Pandas库中的DataFrame的相关文章

小丸子踏入python之路:python_day06(Pandas库中另外一个结构Series)

写在前面: 由昨天的记录我们知道,用pandas.read_csv("文件名")的方法读取文件,返回的变量类型为DataFrame结构.也是pandas中最核心的一种类型.那在pandas中还有没有什么其他的类型啊,当然是有的啦,我们把DataFrame类型理解为是由行和列构成的数据,那么将DataFrame进行分解,取其中的一行或者一列,则这其中的一行或一列被称为Series结构. 即DataFrame结构是由一系列的Series结构构成的. (将DataFrame理解为读取到的矩阵

Pandas库03_Series和DataFrame数据结构_重索引

#这里学习索引import pandas as pd #下面来重建Series和DataFrame索引项 #Series类型的索引重建,是对索引重新排序reindex,没有的值就是NaN# objs1=pd.Series([1,2,5,3,7,4,5],index=[1,2,3,4,5,6,7])# print(objs1)# objs2=objs1.reindex(["a","b","c","d","e"

python数据分析pandas中的DataFrame数据清洗

pandas中的DataFrame中的空数据处理方法: 方法一:直接删除 1.查看行或列是否有空格(以下的df为DataFrame类型,axis=0,代表列,axis=1代表行,以下的返回值都是行或列索引加上布尔值)• isnull方法 • 查看行:df.isnull().any(axis=1)  • 查看列:df.isnull().any(axis=0)• notnull方法:• 查看行:df.notnull().all(axis=1)• 查看列:df.notnull().all(axis=0

python之pandas库

一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import pandas as pd 2.导入CSV或者xlsx文件: df = pd.DataFrame(pd.read_csv('name.csv',header=1)) df = pd.DataFrame(pd.read_excel('name.xlsx')) 3.用pandas创建数据表: df = pd.DataFrame({"id":[1001,1002,1003,1004,100

pandas库的DateFrame类型

Series是pandas库的一维数据类型,DateFrame是pandas库的二维数据类型. DateFrame类型: DateFrame类型由共用相同索引的一组列组成(DateFrame相当于一个表格),每列值类型可以不同. DateFrame既有行索引,也有列索引. DateFrame常用于表达二维数据,但可以表达多维数据. DateFrame类型可以由如下类型创建: 1.二维ndarray对象 import pandas as pd import numpy as np d = pd.D

Pandas 基础(3) - 生成 Dataframe 的几种方式

这一节想总结一下 生成 Dataframe 的几种方式: CSV Excel python dictionary List of tuples List of dictionary 下面分别一一介绍具体的实现方式: 通过 csv 文件这里补充一个知识点, 就是如果要读取的文件不在 jupyter 所在的文件夹, 则可以通过绝对路径的方式引入. df = pd.read_csv("/Users/rachel/Downloads/weather.csv") 通过 Excel 文件这里的第二

Python Pandas库的学习(三)

今天我们来继续讲解Python中的Pandas库的基本用法 那么我们如何使用pandas对数据进行排序操作呢? food.sort_values("Sodium_(mg)",inplace= True) print(food["Sodium_(mg)"]) food.sort_values("Sodium_(mg)",inplace=True,ascending= False) print(food["Sodium_(mg)"

Python学习教程(Python学习路线):Pandas库基础分析-详解时间序列的处理

Python学习教程(Python学习路线):Pandas库基础分析-详解时间序列的处理 在使用Python进行数据分析时,经常会遇到时间日期格式处理和转换,特别是分析和挖掘与时间相关的数据,比如量化交易就是从历史数据中寻找股价的变化规律.Python中自带的处理时间的模块有datetime,NumPy库也提供了相应的方法,Pandas作为Python环境下的数据分析库,更是提供了强大的日期数据处理的功能,是处理时间序列的利器. 1.生成日期序列 主要提供pd.data_range()和pd.p

numpy库中数组的数据类型

numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as np >>> arr1=np.array([1,2,3,4],dtype=np.float64) >>> arr2=np.array([1,2,3,4],dtype=np.int32) >>> arr1.dtype dtype('float64') >