Pandas-dataframe|学习笔记

简介: 快速学习 Pandas-dataframe

开发者学堂课程【高校精品课-华东师范大学-人工智能基础:Pandas-dataframe】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/920/detail/15575


Pandas-dataframe

 

内容介绍:

一、Pandas-dataframe 介绍

二、操作演示

 

一、Pandas-dataframe 介绍

修改 DataFrame 数据

Pandas 的 DataFrame 是一个二维数组对象,有行索引也有列索引,所以 DataFrame 也可以看成 Servises 的容器。

构建 DataFrame 的办法有很多,基本方法是使用 DataFrame()函数构造,格式如下:DataFrame(【data, index columns, dtype copy】)

data 为数据,index 设置索引,与 Servises 不同的事,二维数组的索引为行索引,列索引为后面的 columns,可以在dtype 上定义类型。可以从字典数据创建 DataFrame

 

二、操作演示

In [ ] :  import pandas as pd

dict={‘coli’:[1,2,5,7],’col2’:[‘a’,’b’,’c’,’d’]}

df=pd.DataFrame(dict)

df

out[3]:

col1  col2

0    1    a

1    2    b

2    5    c

3    7    d

In [4] :  list a=[1,2,5,7]

In [5] :  list b=[‘a’,’b’,’c’,’d’]

df=pd.DataFrame({‘col1’:lista,’col2’:listb})

In [6]:   df

out[6]:

col1   col2

0   1    a

1   2    b

2   5    c

3   7    d

In [  ]:  import pandas as pd

a= pd.DataFrame([[1,0,1,5]

[2,0,5,6]

[4,0,8,5]].colums =[“t1”,”t2”,”p1”])

a 

out[9]:

t1   t2   p1

0   1    0.1   5

1   2    0.5   6

2   4    0.8   5

在前章内容中介绍文件访问时已经学习到 pandas 读写 csv 文件功能,例如 read_cav 函数可以读取 CSV 文件的数据,返回的是 DataFrame 对象。

In[ ]:   import pandas as pd

data = pd.read_cav(‘datall.txt’,sep =’ ‘) #指明分隔符,查看 data

data

out[10]       Ht   Wt   Rt

0    1.5   40   thin

1    1.5   50   fat

2    1.5   60   fat

3    1.6   40   thin

4    1.6   50   thin

5    1.6   60   fat

6    1.6   70   fat

7    1.7   50   thin

8    1.7   60   thin

9    1.7   70   fat

10   1.7   80   fat

11   1.8   60   thin

12   1.8   70   thin

13   1.8   80   fat

14   1.8   90   fat

15   1.9   80   thin

16   1.9   90   fat

访问 dataFrame 这一操作是频繁的过程,需要特别熟悉,对 dataFrame 进行索引可以获取其中的一个或多个列,要注意列方向为名称。

In [ 11]: data[[‘Ht’,’Wt’]] //可以查看 Ht和wt两列//

out[11]

In[13]:data[0:3]//前三行索引

out[13]:

Ht   Wt   Rt

0    1.5   40   thin

1    1.5   50   fat

2    1.5   60   fat

In [14 ]: data[data[[‘Wt’]<60]//对数据进行简单过滤,查看重量小于60的数据。

out[14]:

Ht   Wt   Rt

0    1.5   40   thin

1    1.5   50   fat

3    1.6   40   thin

4    1.6   50   thin

7    1.7   50   thin

//loc 和 iloc 函数可以说是 dataFrame 访问的升级版,有了他们不论是列还是行都能便捷获取。其中 loc 函数是按索引名抽取指定行列的数据,格式为 loc[行索引,列索引]//

In[15 ]: data.loc[[5,6],[‘Ht’,Wt’]] //5,6是第6行第7行。后面是wt.ht两列。

out[15]

Ht   wt

5   1.6   60

6   1.6   70

如果按名称还不方便,就可以使用 iloc 按位置访问,同样是行列两个参数。可以是下标值可以是列表,也可以是切片。使用方法 iloc[行参数,列参数]

In [16]:  data.{loc[[5,6],[0,1]]

out[16]:

Ht   Wt

5   1.6   60

6   1.6   70

In[17]:   data.iloc[[5:10],[0,1]] //访问编号5-10的行和0,1两列//

File “<ipython-input-17-835fc967c207>”,line 1

data.iloc[[5:10],[0,1]]

syntaxError: invalid syntax

In[18]:   data.iloc[[5:10],[0,1]]

out[18]:

Ht   wt

5   1.6   60

6   1.6   70

7   1.7   50

8   1.7   60

9  1.7   70

In [19]: data.iloc[5:10,:2]//访问编号5-10的行,2之前的列。

out[19]:

Ht   Wt

5  1.6  60

6  1.6  70

7  1.7  50

8  1.7  60

9  1.7  70

修改 dataFrame 数据,如果 dataFrame 没有自定义 index 名称,则则使用列命令和行命令编号来访问,

In [20 ]:  

import numpy as np

import pandas ns pd

df1=pd.DataFrame(np.arange(16)。reshape(4,4)

columns=[‘小白兔’小白免熊猫’‘小熊猫’]

df1[小熊猫‘]’[1]=22

df1[‘小熊猫’]=22//赋值,使用使用 column 列名修改整列//

df1 //使用 numpy 创建了一个数字序列,形状为4乘4,列名分别为小白兔、小白兔、小熊猫、小熊猫,则使用column 列名和 index 行的编号来访问。//

out[20]:

小白兔  小白兔  小熊猫  小熊猫

0     0     1      2       22

1     4     5      22      22

2     8     9      10      22

3     12    13     14      22

如果设置了 index 名称,可以方便的使用 column 列名和 index 名称来访问。

In [ 21 ]:  import numpy as np

df1=pd.DataFrame(np.arange(16)。reshape(4.4)

index=[‘BJ’,’SH’,’GZ’,’SZ’],  //index设置了城市北京、上海、广州、深圳。//

columns=[‘小白兔’小白免熊猫’‘小熊猫’]

df1[小白兔‘][‘GZ’]=44// 使用column列名和index名称来访问。//

df1[‘小熊猫’]=44 //使用column列名修改整列。

df1

out[21]:

小白兔  小白兔  小熊猫  小熊猫

BJ       0      1      44      3

SH      4      5      44      7

GZ      44     9      44      11

SZ       12    13     44      15 

有了 index 名称后就不建议用 index 编号了。

相关文章
|
2月前
|
数据挖掘 数据处理 Python
pandas的快速使用
pandas的快速使用
26 6
|
3月前
|
存储 JSON 数据格式
Pandas介绍
Pandas介绍
|
4月前
|
API 索引 Python
pandas
使用pandas过程中出现的问题
54 0
|
8月前
|
机器学习/深度学习 决策智能 计算机视觉
Pandas库之DataFrame学习笔记
Pandas库之DataFrame学习笔记
110 0
|
10月前
|
SQL 数据采集 存储
什么是pandas
什么是pandas
84 0
|
10月前
|
存储 数据挖掘 Python
为什么你需要Pandas的DataFrame
为什么你需要Pandas的DataFrame
73 0
|
11月前
|
数据挖掘 Python
pandas是什么
pandas是什么
|
11月前
|
存储 分布式计算 大数据
Pandas 2.0来了~
Pandas 2.0来了~
|
机器学习/深度学习 关系型数据库 数据挖掘
Pandas 2.0 vs Polars:速度的全面对比
前几天的文章,我们已经简单的介绍过Pandas 和Polars的速度对比。刚刚发布的Pandas 2.0速度得到了显著的提升。但是本次测试发现NumPy数组上的一些基本操作仍然更快。并且Polars 0.17.0,也在上周发布,并且也提到了性能的改善,所以我们这里做一个更详细的关于速度方面的评测。
203 0
Pandas 2.0 vs Polars:速度的全面对比
|
SQL 大数据 数据挖掘
你可能不知道的pandas的5个基本技巧
你可能不知道的pandas的5个基本技巧
139 0
你可能不知道的pandas的5个基本技巧