pandas

Series

序列

创建的三种方法

import numpy as py
import pandas as pd
# 序列创建
s1 = pd.Series((1,2,3,4))
s1
s1.values
s1.index
# numpy的array创建
s2 = pd.Series(np.arange(10))
s2
# 使用字典创建
s3 = pd.Series({'1':1,'2':2,'3':3})
s3.values
s3.index

创建时的参数

名称作用
index指定Series的索引

访问数据

与python的内置类型dict的访问方式一样

常用函数与属性

函数作用
to_dict()转化为字典类型
isnull返回布尔method,类似一数组,判断是否为null
notnull返回布尔method,类似一数组,判断是否为null
属性作用
name名称
index索引
valuesSeries的值
index.name索引的名称

Dataframe

常用函数和属性

名称作用
read_clipboard()从剪切板里得到Dataframe数据
属性作用
columns得到所有的列名称

添加列

df = pd.read_sql('meal_order_detail1',con=engine,columns=['order_id','counts', 'amounts','cost', 'discount_amt'])
df['new1'] = 1
df['new2'] = 2

删除列

# 不加inplace就不是在源视图上修改,会返回一个新的已删除指定数据的Dataframe对象
df.drop(labels='new1', axis=1, inplace=True)
del df['new2']

修改列的数据

统计

排序

s1 = pd.Series(np.random.randint(1,10,size=5),index='dbcae')
s1.index
s1.values
# 不改变原Series,inplace=True可以修改,ascending=True升序,ascending=False降序
s1.sort_index()
s1
s1.sort_values()
s1
# 行排序,不改变原Dataframe,inplace=True可以修改,ascending=True升序,ascending=False降序
df1.sort_index(axis=0,by='row_name')
# 列排序
df1.sort_index(axis=1,by='column_name')

上课代码

import numpy as np
import pandas as pd
s1 = pd.Series(np.random.randint(4,10,size=6),index=list('adfebc'))
s1 = pd.Series(np.random.randint(4,10,size=4),index=[['a','a','b','b'],[1,2,1,2]])
s1.index.names=['country','state']
s2 = pd.Series(np.random.randint(4,10,size=6), index = [['a','a','a','b','b','b'],[1,2,3,1,2,3]])
s2
index = pd.MultiIndex.from_tuples([('a',1),('a',2),('a',3),('b',1),('b',2),('b',3)],names=['key1','key2'])
index1=pd.MultiIndex.from_product(iterables=[['a','b'],[1,2,3]], names = ['key1','key2'])
s1['a']
s1['a':'b']
s1[:,1]
s1.loc[:,1]
s2.mean()
s2.mean(level=0)
s2.mean(level=1)
index = pd.MultiIndex.from_tuples([('A','A1'),('A','A2'),('B','B1'),('B','B2'),('B','B3')])
df1 = pd.DataFrame(np.random.randint(4,10,size=(5,3)), index = index)
index=pd.MultiIndex.from_product([[2013,2014],[1,2]],names=['year','visit'])
index
columns=pd.MultiIndex.from_product([['Bob','Guido','Sue'],['HR','Temp']],names=['sunject','type'])
columns
df2 = pd.DataFrame(np.random.randint(30,40,size=(4,6)),index=index,columns=columns)
df2
df2.loc[2013,:]
df2.loc[2013,('Bob','HR')]
df2
s1[:,1]
# 取出内索引为1的数据
idx = pd.IndexSlice
	df2.loc[idx[:,1],:]
# 取出Temp列的所有数据,内层索引只能用idx来切
df2.loc[:,idx[:,'Temp']]
s1
s1.unstack()
s1.unstack(level=0)
s1.unstack(level=0).stack()
df3 = df2.reset_index(inplace=False)
df3
df4 = df3.set_index(['year','visit'])
df4
df2
df2.index
df2.swaplevel()
df2.swaplevel(axis=1)
df2
# 默认按照外层索引,ascending=Fasle为逆序
df2.sort_index()
df2.sort_index(level=1,ascending=False)
df5 = df2.loc[:,idx[:,'Temp']]
df5.mean(axis=0,level=0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值