欢迎光临散文网 会员登陆 & 注册

Pandas数据结构简介(一)

2023-08-29 07:06 作者:背着星星追太阳  | 我要投稿


# -*- coding: utf-8 -*-



"""# 数据结构简介

首先,这里介绍的很多材料都来自[Pandas数据结构入门教程]. 话虽如此,我希望通过告诉你我作为数据科学家日常使用的习语来增加一些Pandas学习的重要内容。所以让我们开始吧。

# Series

Pandas 有两种数据结构,一个`Series`和一个`Dataframe`。`Series`就像excel中的一列,基本上是所有相同类型的数据点列表。创建`Series`对象的基本方法如下:

还有其他方法可以制作Series(例如从字典中),但总的来说,这是我唯一使用过的方法。所以请注意,一个系列基本上有三个重要部分:


1. 数据

2. 索引

3. 名称


数据可以是数据列表,也可以是广播的单个实例,如下所示:



(我们稍后将看到的广播非常重要)。


数据基本上是你作为数据科学家感兴趣的。`index`通常用时间序列,但除此之外,我真的不用`Series index`(现在我确实经常使用DataFrame的索引!但请注意,每个数据点都与一个index相关联。


最后是`name`。仅当将`Series`添加到`Datafram`时,name才真正重要。在这种情况下,`Series`的name将成为`coliunms`。


到目前为止,您还没有看到为什么`Series`如此有用,但现在我们开始进入它。`Series`有多种方法可以索引到它们



一般来说,我不做上述任何操作 - 如果你发现自己使用它们,一定要考虑一下你是否应该使用Pandas进行这些操作,或者你是否应该使用Numpy。


现在让我向您展示一些我经常使用的操作



# 或者 更加常用的操作


# 你也可以改变这些数据

# 但是你需要小心处理这些操作


但是关于序列的一件事非常有用,那就是您可以对它们进行矢量化操作(对整个序列中的所有内容进行快速计算)。你已经看到了一个。


# 只是需要小心这些操作

# 如果index 不匹配,你将得到NAN

这些类型的操作是跨列的,就是Pandas的目的。每当你偏离对列的操作时,你应该对自己说:Pandas是最适合我的工具吗?


现在对一列执行操作似乎很有用,但是对多列执行操作呢?


# DataFrame


`Series`很好,但它们的真正好处是数据帧。`DataFrame`就像一个完整的Excel电子表格!正如您可能猜到的那样,`Datafram`是一系列`Series`,每个`Series`都有一个name和相同的index。因此,创建`DataFrame`的一种简单方法是使用`Series/list`的字典方式创建它:




# 实际上,我经常使用np.arrays和标量的方式创建



有很多方法可以创建这些东西之一,但一般来说,只要知道一个就足够了。以后始终可以更改索引或列的值



DataFrame` 基本上只是`Columns/Series`的字典,因此您可以使用大多数与`DataFrame`本身的`Series`相同的技术。


引用列的一般方法如下:

"""



# 输出一个有name的Series


然后,您可以使用我们上面所做的`Series`做任何事情。

有一个点符号快捷方式`df.one`,但最好不要知道它,因为如果使用不当,它可能会导致错误!

当然,您也可以删除和创建新列,也可以进行广播




同样,还有其他插入列的方法(插入和分配方法),但我从不使用它们。使用其他方法的好处似乎也很小。


接下来,让我们介绍一下使用Dataframe进行索引和选择。基本上有4种方法可以做到这一点:



## DataFrame 功能


除了执行这些按列操作之外,还可以执行一些`DataFrame`操作。


其中最有用的是复制方法:)




下一个我经常使用的是DataFrame转置功能"""



这会将行作为列,将列作为行。这可能是执行逐行操作的好方法,但主要是我这样做是为了显示`DataFrame`值。以下是显示`Dataframe`值的三种常用方法"""



"""但是,您会注意到,当列数过多时,显示会很混乱:"""



#transposing 来帮忙


有时这也会截断。要查看更多内容,您可以随时更改下面的视图选项(顺便说一句,Pandas中有很多选项,您可以在此处或使用 ):`pd.set_option?`"""



## 总结

恭喜,这是基础知识,现在您应该能够在这里进行[练习]

关于Pandas还有很多事情要做,我们将在这里介绍更多!



Pandas数据结构简介(一)的评论 (共 条)

分享到微博请遵守国家法律