数据分析工具Pandas

一.series

一维的数据结果(series)二维的,表格型的数据结果(DataFrame)

Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。

Pandas的Series类对象可以使用以下构 造方法创建:class pandas.Series(data=None,index=None,dtype=None,name=None,copy=False,fatspath=False)

data:表示传入的数据。 index:表示索引,唯一且与数据长度相等,默认会自动创建一个从0~N的整数索引。

创建series类对象

ser_obj = pd.Series([1, 2, 3, 4, 5])

创建Series类对象,并指定索引

ser_obj = pd.Series([1, 2, 3, 4

除了使用列表构建Series类对象外,还可以使用dict进行构建。

二.DataFrame

DataFrame是一个类似于二维数组或表格(如excel)的对象,它每列的数据可以是不同的数据.

数据分析工具Pandas

注意: DataFrame的索引不仅有行索引,还有列索引,数据可以有多列。

Pandas的DataFrame类对象可以使用以下构造方法创建:

pandas.DataFrame(data = None,index = None,columns = None, dtype = None,copy = False )

通过传入数组来创建DataFrame类对象:

创建数组 demo_arr = np.array([[‘a’, ‘b’, ‘c’], [‘d’, ‘e’, ‘f’]]) # 基于数组创建DataFrame对象 df_obj = pd.DataFrame(demo_arr)

三.Pandas索引操作及高级索引

reindex()方法的语法格式如下:

DataFrame.reindex(labels = None,index = None, columns = None,axis = None,method = None, copy = True,level = None,fill_value = nan,limit = None,tolerance = None )

索引操作:

ser_obj[2: 4]

使用位置索引进行切片

ser_obj[‘c’: ‘e’]

使用索引名称进行切片

如果希望获取的是不连续的数据,则可以通过不连续索引来实现。

通过不连续位置索引获取数据集

ser_obj[[0, 2, 4]]

通过不连续索引名称获取数据集

ser_obj[[‘a’, ‘c’, ‘d’]]

四.数据排序

Pandas中按索引排sort_index(axis = 0,level = None,ascending = True,inplace = False,kind =’ quicksort ‘,na_position =’last’,sort_remaining = True )序使用的是sort_index()方法,该方法可以用行索引或者列索引进行排序。

按索引对Series进行分别排序,示例如下

ser_obj = pd.Series(range(10, 15), index=[5, 3, 1, 3, 2])

按索引进行升序排列

ser_obj.sort_index()

按索引进行降序排列

ser_obj.sort_index(ascending = False)

六.层次化索引

Series和DataFrame均可以实现层次化索引,最常见的方式是在构造方法的index参数中传入一个嵌套列表。

注:在创建层次化索引对象时,嵌套函数中两个列表的长度必须是保持一致的,否则将会出现ValueError错误。

from_tuples():

list_tuples = [(‘A’,’A1′), (‘A’,’A2′), (‘B’,’B1′),(‘B’,’B2′), (‘B’,’B3′)] # 根据元组列表创建一个MultiIndex对象 multi_index = MultiIndex.from_tuples(tuples=list_tuples, names=[ ‘外层索引’, ‘内层索引’])

from_product()

numbers = [0, 1, 2] colors = [‘green’, ‘purple’] multi_product = pd.MultiIndex.from_product(iterables=[numbers, colors], names=[‘number’, ‘color’])

在Pandas中,交换分层顺序的操作可以使用swaplevel()方法来完成。

要想按照分层索引对数据排序,则可以通过sort_index()方法实现。

sort_index(axis = 0,level = None,ascending = True,inplace = False,kind =’ quicksort ‘,na_position =’last’, sort_remaining = True,by = None )

七.读写文本

文本文件 Excel文件 HTML文件 数据库

to_csv()方法的功能是将数据写入到CSV文件中。

path_or_buf:文件路径。

index:默认为True,若设为False,则将不会显示索引。

sep:分隔符,默认用”,”隔开。

to_csv(path_or_buf=None,sep=’,’,na_rep=”,float_format=None,columns=None,header=True, index=True, index_label=None, mode=’w’, …)

注意:read_csv()与read_table()函数的区别在于使用的分隔符不同,前者使用”,”作为分隔符,而后者使用”\t”作为分隔符。

to_excel()方法的功能是将DataFrame对象写入到Excel工作表中。

excel_writer:表示读取的文件路径。

sheet_name:表示工作表的名称,默认为”Sheet1″。

na_rep:表示缺失数据。

index:表示是否写行索引,默认为True。

to_excel(excel_writer,sheet_name=’Sheet1′,na_rep=”, float_format=None, columns=None, header=True, index=True, …)

对于网页中的表格,可以使用read_html()函数进行读取,并返回一个包含多个DataFrame对象的列表。

io:表示路径对象。

header:表示指定列标题所在的行。

index_col:表示指定行标题对应的列。

attrs:默认为None,用于表示表格的属性值。

pandas.read_html(io, match=’.+’, flavor=None,header=None,

本章小结: 常用的数据结构、索引操作、算术运算、数据排序、统计计算与描述、层次化索引和读写数据操作等,并结合北京高考分数线的分析案例,讲解如何使用Pandas操作数据。

Original: https://blog.csdn.net/qq_61374339/article/details/123375143
Author: 文静人
Title: 数据分析工具Pandas

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/675075/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球