资源简介 (共13张PPT)第四章数据处理与应用4.2.2 pandas数据处理人生苦短我用pythonpandas处理数据数据处理可以使用现成的软件或平台,也可以通过编写程序实现。Python语言丰富的标准模块和扩展库提供了许多高效灵活的函数,可以帮助我们较好地进行数据整理。numpyscipypandasmatplotlibDateFrame数据结构Series数据结构在Python中引入pandas模块:import pandas as pd1. SeriesSeries是一维数组,由一个数组的数据和一个与数据关联的索引(index),索引值默认是从0起递增的整数。import pandas as pd#导入pandas模块s1 = pd.Series([3,4, 5, 6])print(s1)0 31 42 53 6左列:index右列:valuesimport pandas as pd#导入pandas模块s2 = pd.Series([“高二”,16, 180], index=["年级","年龄","身高"])print(s2)年级 高二年龄 16身高 180左列:index右列:valuesfor i in s2.index :print(i)运行结果:年级年龄身高for i in s2.values :print(i)运行结果:高二16180Series数据结构Series数据结构import pandas as pd#导入pandas模块s2 = pd.Series([“高二”,16, 180], index=["年级","年龄","身高"])#通过索引赋值,改变s2中对象的值s2[“身高”]=190print(s2)年级 高二年龄 16身高 190DateFrame数据结构DataFrame对象是一个二维表格,由1个索引列(index)和若干个数据列组成。其中,每列中的元素类型必须一致,而不同的列可以拥有不同的元素类型,由长度相等的列表或字典创建。import pandas as pddata = {"name":["王晓明","李静","田海"], "sex":["男","女","男"], "aged":[20,19,21]}#字典是无序的,因此需要通过columns指定列索引的排列顺序df = pd.DataFrame(data,columns=["name","sex","aged"])print(df)indexcolumns中存放列标题,决定数据列输出的顺序,若columns不设置参数,默认列顺序为:name,sex,agedimport pandas as pddata = {"name":["王晓明","李静","田海"], "sex":["男","女","男"], "aged":[20,19,21]}#字典是无序的,因此需要通过columns指定列索引的排列顺序df = pd.DataFrame(data,columns=["aged","sex","name"])print(df)DateFrame数据结构还可以通过导入二维数据文件创建DataFrame对象pd.read_csv(文件名) 从csv文件导入数据pd.read_excel(文件名) 从excel文件中导入数据df.to_csv(文件名) 导入数据到csv文件df.to_excel(文件名) 导入数据到excel文件import pandas as pddf=pd.read_excel("test.xlsx")print(df)test.xlsxDateFrame数据结构import pandas as pd data = {"name":["王晓明","李静","田海"], "sex":["男","女","男"], "aged":[20,19,21]} df = pd.DataFrame(data,columns=["name","sex","aged"]) print(df)for i in df.index: print(i) for i in df.columns: print(i) for i in df.values: print(i) df.T #行列转置运行结果:012运行结果:namesexaged运行结果:[‘王晓明’ ‘男’ 20][‘李静’ ‘女’ 19][‘田海’ ‘男’ 21 ]DateFrame数据结构查看DataFrame中的数据列:通过字典记法,属性检索 import pandas as pd data = {"name":["王晓明","李静","田海"], "sex":["男","女","男"], "aged":[20,19,21]} df = pd.DataFrame(data,columns=["name","sex","aged"]) print(df)#通过属性检索列 print(df.name) #通过字典记法检索列 print(df[“sex”]) #修改列内容df.aged=[20,20,22]print(df)DateFrame数据结构查看DataFrame中的数据行:通过索引查看指定行、通过布尔型数据选取满足条件的行 import pandas as pd data = {"name":["王晓明","李静","田海"], "sex":["男","女","男"], "aged":[20,19,21]} df = pd.DataFrame(data,columns=["name","sex","aged"]) print(df)#使用索引查看指定行 print(df[0:2]) #使用布尔型数据选择行 print(df[df[“sex”]==“女”]) #使用at[]精准定位print(df.at[2,”name”])DateFrame数据结构DateFrame数据结构import pandas as pd data = {"name":["王晓明","李静","田海"], "sex":["男","女","男"], "aged":[20,19,21]} df = pd.DataFrame(data,columns=["name","sex","aged"]) print(df)#添加一行数据 df_add=df.append({"name":"张亮","sex":"男","aged":17},ignore_index=True) print(df_add) #删除“sex”列 df_delc=df.drop(“sex”,axis=1) print(df_delc) #删除第1行df_delr=df.drop(0)print(df_delr)append()/drop()不改变原有对象中的数据;del会永久删除原有数据添加一列,并赋值df[“height”]=[175,180,182]DateFrame数据结构#groupby()分组 #mean()计算平均值 g=df.groupby(“地区”,as_index=False) print(g.mean()) --------------or----------- g=df.groupby(“地区”,as_index=False).mean() #按价格降序排序df_sort=df.sort_values(“价格”,ascending=False)print(df_sort)1.按索引排序 sort_index()2.按值排序 sort_values()参数:axis=0(默认)为纵向排序,axis=1为横向排序;参数:ascending=True(默认)为升序,ascending=False降序排序结果返回一个新对象课堂小结import 模块名1 [as 别名1]…from 模块名 import 成员名1 [as 别名1],…pandas数据结构Series(序列)DataFrame(数据框) 展开更多...... 收起↑ 资源预览