小编给大家分享一下Pandas序列怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Pandas序列(Pandas Series)
Pandas是一个开源的BSD(Berkeley Software Distribution)许可库,为Python编程语言提供了高性能、易于使用的数据结构和数据分析工具。
Pandas提供的数据结构有两种不同的类型:
Pandas数据框架(Pandas DataFrame)
Pandas序列
我们将在这篇文章中介绍Pandas序列。
注意:建议阅读之前关于Pandas DataFrame的帖子,然后再继续阅读本文,以便更好地了解Pandas序列。
https://towardsdatascience.com/pandas-dataframe-a-lightweight-intro-680e3a212b96
Pandas序列是什么?
从技术上讲,Pandas序列是一种能够保存任何数据类型的一维标记数组。
通俗地说,Pandas序列只不过是excel表中的专栏。如下图所示,例如人员的姓名、年龄和职位的序列。
Pandas序列
因此,就Pandas DataFrame而言,Pandas序列表示内存中的单个列,它可以是独立的,也可以属于Pandas DataFrame。
注意:Pandas序列可以有自己的独立存在,而不属于Pandas DataFrame。
如何创建Pandas序列?
可以使用Python列表或NumPy数组创建Pandas序列。必须要记住,与Python列表不同,Pandas序列将始终包含相同类型的数据。这使得NumPy阵列成为创建Pandas序列的更好选择。
以下使用上述两种方法来创建Pandas序列:
这是它们的示例
Result of → series_list = pd.Series([1,2,3,4,5,6])
Result of → series_np = pd.Series(np.array([10,20
就像创建Pandas DataFrame时一样,Pandas序列也会默认生成行索引号,这是从0开始的一系列增量数字。
你可能已经猜到在创建Pandas序列时可以拥有自己的行索引值。我们只需要传递索引参数,这些参数采用相同类型的列表或NumPy数组。
以下示例使用NumPy生成的序列:
Result of → series_index = pd.Series(np.array([10,
以下示例使用字符串作为行索引:
Result of → series_index = pd.Series(np.array([10,
我们可以使用Pandas序列的行索引作为:
无论我们在创建系列时是否传递了列表或NumPy数组,它都会返回NumPy数组
从python Dictionary创建Pandas序列
正如我们在创建Pandas DataFrame时所看到的,从python词典创建DataFrame非常容易,因为键映射到列名,而值对应于列值列表。
那么在创建Pandas序列时它如何映射?
如果我们从python字典创建一个Pandas序列,则该键成为行索引,而该值成为该行索引的值。
举个例子,让我们看看具有单个键值对的一个简单的字典会发生什么
这是输出的示例
Result of → Code block Above
如果字典中的值包含一个项目列表,情况不会改变。列表项仍然是单行索引的一部分,
Result of → series_dict = pd.Series(t_dict)
从Pandas DataFrame中获取Pandas序列
虽然Pandas序列本身对于数据分析非常有用,并且提供了许多有用的辅助函数,但是大多数情况下,分析要求将迫使我们一起使用Pandas DataFrame和Pandas序列。
让我们首先创建一个Pandas DataFrame,就像我们在这里创建的一样:
以下是生成的DataFrame的示例
从字典创建DataFrame的结果
DataFrame提供了两种访问列的方法,即使用字典语法df ['column_name']或df.column_name。每次我们使用这些表示来获得列时,我们都会得到一个Pandas序列。在上面的例子中,我们可以通过访问列来获得Pandas序列(即单列)
Pandas序列姓名
Pandas序列年龄
Pandas序列职位
通过迭代DataFrame的列来获取Pandas序列
如果我们不知道列的名称怎么办?
Pandas DataFrame是可迭代的,我们可以迭代各个列来获得Pandas序列
使用Pandas序列创建DataFrame(独立或组合)
Pandas DataFrame只是一个序列(1+)的集合。我们可以使用单个Pandas序列或组合多个Pandas序列来生成DataFrame
例如,让我们从组合series_name和series_age生成一个DataFrame:
令人惊讶的是,生成的DataFrame应该看起来
df_from_series
是的,Pandas序列的行索引成为列,而列成为行索引值。你可以认为这类似于矩阵的转置。即使我们提供单个Pandas序列来创建DataFrame也是如此:
df_from_series_single
但是,当我们从Pandas序列中删除列表/数组表示法时,不会发生这种情况。例如
将导致保留Pandas序列的列名和行索引
df_from_series
注意:不幸的是,这仅限于一个序列,因为DataFrame API不会为序列带来多个参数。
使用Python Dict创建DataFrame行为
当我们将python dictionaries作为数组传递以创建DataFrame时,将会观察到相同的行为。让我们看看之前创建的t_dict = {'a':1,'b':2,'c':3}
结果DataFrame看起来像
ds
其中键表示为列,否则如果我们创建了一个序列,则表示为行索引。
我们甚至可以组合多个t_dict来创建DataFrame
ds
序列辅助函数
就像pandas DataFrame一样,序列也有多组辅助函数用于数据分析。
请注意,Pandas DataFrame的所有列辅助函数都可以与Pandas序列一起使用。一些例子是
迭代序列
就像python中的许多其他数据结构一样,可以使用简单的for循环迭代序列
我们也可以迭代索引的序列行:
以上是“Pandas序列怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。