文中用到的文件:
# as 是导包起别名 from pandas import Series,DataFrame # Series 序列 是一个一维数组的对象 由 数据和索引组成 # ***** DataFrame 类似于表格的结构,包含一组有序的列,包含行索引和列索引 #定义Series
#序列的定义方式 x = Series(data=['巡回检查组','将军家的小娘子','知否知否','铁齿灵牙纪晓岚'], index=['a','b','c','d'] ) x
type(x)
y = Series(data=[{"name":"李雷","age":30,'hobby':"电子竞技"}, {"name":"李雷1","age":31,'hobby':"电子竞技1"}, {"name":"李雷2","age":32,'hobby':"电子竞技2"}, {"name":"李雷3","age":33,'hobby':"电子竞技3"}], index=['d','c','e','f']) y
#通过指定索引 访问我的序列 y['d':'f']
#通过默认的索引 y[0:2] # 根据索引删除序列 #y = y.drop('e')
df = DataFrame( data={'name': ['曹文杰','吴彦祖','郑伊健','任达华'], "age":[33,78,90,23], "hobby":['干饭人','不讲武德','耗子尾汁','足球'] }, index=['first','second','third','four'] ) df
df.loc['first':'third',['name','age']]
df.loc['first':'third',:]
#根据默认索引进行 行和列的筛选 #df.iloc[0:3,0:3] # 只筛选 2行和第3行,第一列和第三列 df.iloc[[1,2],0:3]
# pandas 读取文件 pd.read_csv('write.csv')
#读取 excel 表格 #读取 excel表格的数据 df = pd.read_excel('data/3.xlsx',sheet_name='data') df
- df = pd.read_excel('data/3.xlsx',sheet_name=['data','data2'])
- df
# 对表格里的数据去除重复 df2 = pd.read_csv("data/data.csv") #去除重复数据 df2 = df2.drop_duplicates() df2
#对字符串 进行替换 df3 = pd.read_csv("data/data2.csv") # 把标题中的名字 J 换成I (replace)---> strip() 去除两边空格 df3 = df3['name'].str.replace("J","I").str.replace('n',"N").str.strip() df3
#对数据大小进行范围的筛选 df4 = pd.read_csv("data/data4.csv",sep="|") # 找数据大于 10000 条的数据 #df4 = df4[df4.comments>10000] df4 = df4[df4.comments.between(10000,30000)] df4
df4 = pd.read_csv("data/data4.csv",sep="|") df4
# 找到数据 属性为空的 df4[pd.isnull(df4["title"])]
- df71 = pd.read_csv("data/data7-1.csv",sep="|",names=["id","comments","title"])
- df71
df72 = pd.read_csv("data/data7-2.csv",sep="|",names=["id","oldPrice","newPrice"]) df72
# 将两张表进行合并,要求 id的列名要一致 newdf1 = pd.merge(df71,df72) #输出所有的数据 newdf1[:]
# 表格中的数据,两列的乘积的结果放到新的一列 df8 = pd.read_csv("data/data8.csv",sep="|") df8
# 两列的乘积 加到新的一列 df8["result"] = df8.price*df8.num df8
# 按照组进行划分,显示每个组的数量 df9.groupby("address").count().reset_index()
#显示各个地区 分数的平均值,reset_index 重新设置索引 df9.groupby("address")['score'].mean().reset_index()
# 将 最大,最小,平均值 一次性都展示出来 df9.groupby("address")['score'].agg(['mean','max','min']).reset_index()
df9
# 将改表格 按照年龄进行排序 df9.sort_values(by="age",ascending=False).reset_index()