一.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)的对象,它每列的数据可以是不同的数据.
注意: 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/
转载文章受原作者版权保护。转载请注明原作者出处!