动手学深度学习--第三方库的学习

发布时间 2023-10-21 20:35:21作者: 次林梦叶

image

from pixiv


Pandas

Creating, Reading and Writing

pandas中有两类实体类: the DataFrame and the Series.

  • DataFrame
    A DataFrame is a table.
    image

  • Series
    A Series, by contrast, is a sequence of data values.
    image

一般我们在读取的时候都是用DataFrame类进行装载数据
image

index_col=0这个参数表示我们用读到的数据第一列作为下标(pandas读取数据时会自动为每行设定从0开始不断累加的下标)


Indexing, Selecting & Assigning

我们能够通过DataFrame中的"attribute"(即可以看出每一列的key值),来访问一整列:
image

Indexing in pandas

通过iloc函数可以实现利用数值下标进行访问数据
image


通过loc函数可以实现利用attribute和条件进行访问数据
image
image
image

df.points.idxmax(),idxmax()函数可以查找处值最大的索引是什么

Assigning data

image

我们可以通过赋值单个数值进行整列自动赋值
也可以给出列表进行每行赋值

Summary Functions and Maps

Summary functions

我们可以使用describe()函数查看属性的描述性统计

image

当然上述describe()的值我们也可以单个拿出来,如:reviews.points.mean()

对数据进行统计展示:
image

Maps

map()函数可以对Series实体对象中的值按照给出的函数进行处理
image


而apply()函数则是对DataFrame实体对象的值按照给出的函数进行处理
image

需要注意的是上述操作并不改变原值,而是只是返回处理完后的新值而已


Grouping and Sorting

Groupwise analysis

groupby()函数有点像数据库中的group by,能够根据给定的属性进行分组,然后可以对每组进行集中操作,并给出各组处理后的结果

image

如上,首先就是对原始的DataFrame对象根据points进行分组(注意分完组后DataFrame对象被分成了points不同的DataFrame对象),然后对各个组进行取points属性的操作,再进行统计
分组可以简单理解为原来DataFrame中的行,只要符合points属于某个值就被分到某个组中去



还可以对组进行apply()
image

可以对组进行执行多个函数:
image

Multi-indexes

在进行分组后输出的DataFrame中的下标并不是我们之前见过的数值下标了:

image

仔细看红框中的内容,发现其将我们分组的数据作为下标了
打印出下标的类型
image


当然我最常使用的还是希望分组后,最为分组依据的数据还在,而且下标也是常见的数值下标
可以通过reset_index()函数,其返回一个新的DataFrame对象

image


Sorting

image
image

默认升序排序
sort_index()根据下标排序

image

多指标排序