第一部分:查
import pandas as pd
import openpyxl
rec_list = pd.read_excel('2020.12出院病人明细.xlsx',engine='openpyxl')
# 通过列标签获取数据
rec_list = pd.read_excel('2020.12出院病人明细.xlsx',engine='openpyxl')
print(rec_list['name']) #根据列标签获取一列数据,查询结果dtyp=object
print(rec_list['name'].values) #根据列标签获取一列数据的值,返回一个列表
print(rec_list[['name','rec_num']]) #根据列标签获取多列数据,返回一个dataframe
# 通过loc方法获取数据
print(rec_list.loc[0,'姓名']) #根据行标签,列标签获取单元格的值
print(rec_list.loc[[1,2]]) #返回第二三行的dataframe,注意需要两个[[]],里面的[]为行标签的列表,index是从0开始的
print(rec_list.loc[0:2]) #返回第一二三行,双闭空间
print(rec_list.loc[[1,2],['姓名','天数']]) #返回第二三行的姓名和天数列
# 通过iloc方法获取数据
print(rec_list.iloc[0:2]) #返回第一二行数据,左闭右开,和loc方法的不同
print(rec_list.iloc[1900:]) #返回从1900行开始的到最后一行的数据
# 条件筛选
print(rec_list[rec_list['天数']==5]) #返回天数等于5的所有行
print(rec_list[rec_list['天数']>=60]) #返回天数大于等于60的所有行
print(rec_list[(rec_list['科室']=='产科')&(rec_list['天数']>7)]) #复合条件筛选
第二部分 增
import pandas as pd
import openpyxl
rec_list = pd.read_excel('2020.12出院病人明细.xlsx',engine='openpyxl')
rec_list['num'] = range(1,1934)
#增加num列,赋值1到1933
rec_new.loc[1933,['出院科别','姓名','天数']] = ['otho','Tom',5] #用loc方法指定行名列名增加数据
rec_new = rec_new.append({'出院科别':'otho','姓名':'Jerry','天数':6},ignore_index=True) #用append方法添加一行具体的数据,一定要写上ignore_index=True
第三部分 改
import pandas as pd
import openpyxl
rec_list = pd.read_excel('2020.12出院病人明细.xlsx',engine='openpyxl')
rec_list['姓名'].replace('李卓','hello',inplace=True) # 用replace方法将姓名列的李卓改成hello
第四部分 删
import pandas as pd
import openpyxl
rec_list = pd.read_excel('2020.12出院病人明细.xlsx',engine='openpyxl')
del(rec_list['姓名'])
# 删除列
rec_new = rec_list.drop(labels=['性别','年龄'],axis=1)
# axis=1是删除列
rec_new = rec_list.drop(labels=[0,1],axis=0) #axis=0是删除行