概述
1.导入pandas
import pandas as pd
2.导入xlrd (必须是在11.0.0版本以上)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlrd==1.2.0
3.导入数据`
pd.set_option("max_columns",None) #显示所有列
# pd.set_option("max_rows",None) #显示所有行
df=pd.read_excel("朝阳医院2018年销售数据.xlsx")
print(df)
df=pd.read_csv("beijing_tianqi_2018.csv")
print(df)
4.数据查询
#统计强力VC银翘片销售次数
print(df[df["商品名称"] == '强力VC银翘片'].count()["销售数量"])
#统计社保卡号1616528拿药数量
print(df[df["社保卡号"] == 1616528]["销售数量"].sum())
#显示销售数量最高的销售信息
print(df.iloc[df["销售数量"].argmax()])
#统计各个商品销售的次数
print(df["商品名称"].value_counts())
#统计销售数据中有哪些药品销售过,每种药品只显示一次
print(df["商品名称"].unique())
#查看“心痛定”,“开博通”,“珍菊减压片”三种药品销售信息
print(df[df["商品名称"].isin(["心痛定", "开博通", "珍菊减压片"])])
#统计一年中有哪些fengxiang,每种风只显示一次
print(df["fengxiang"].unique())
#求出aqiLevel每个级别的天数,例:1 115 2 150
print(df["aqiLevel"].value_counts())
#统计每种tianqi的天数
print(df["tianqi"].value_counts())
#统计aqiInfo是优和良的天数在全年的占比 结果是(0.73)
print(round([df["aqiInfo"].isin(["优", "良"])].pct_change()))
#统计tianqi中晴和多云两种天气里,不同aqiInfo的天气
print(df["aqiInfo"][df["tianqi"].isin(["晴", "多云"])].value_counts())
#将购药时间列分割成购药日期和星期,将日期转成datetime类型后作为销售数据的索引
df.dropna(axis=0,inplace=True) #删除空数据
df["星期"]=df["购药时间"].map(lambda a:a[-3:])
df["购药时间"]=df["购药时间"].map(lambda a:a[:10])
#删除2018-2-29号的数据
index=df[df["购药时间"]=="2018-02-29"].index
df=df.drop(index)
# 将日期转成datetime类型
df["购药时间"]=pd.to_datetime(df["购药时间"])
#排序
df.set_index("购药时间",drop=True,inplace=True)
df.sort_index(inplace=True)
print(df)
#查看3月份的所有销售信息
print(df["2018-03"])
#查看每个月20号的销售信息
print(df[df.index.day==20])
#查看周二的所有数据
print(df[df.index.dayofweek==1])
#查看第二季度的所有销售数据
print(df[df.index.quarter==2])
#原数据中星期错误,2018-01-01是周一。利用map函数将"星期"列的值更正
def change(a):
num=a.dayofweek
if num==0:
return "星期一"
elif num==1:
return "星期二"
elif num==2:
return "星期三"
elif num==3:
return "星期四"
elif num==4:
return "星期五"
elif num==5:
return "星期六"
else:
return "星期日"
df["星期"]=df.index.map(change)
print(df)
#升降采样
import numpy as np
import pandas as pd
pd.set_option("max_columns",None) #显示所有列
# pd.set_option("max_rows",None) #显示所有行
df=pd.read_csv("beijing_tianqi_2018.csv")
print(df)
#升降采样
#每五小时显示一次天气信息:升采样
df["ymd"]=pd.to_datetime(df["ymd"])
df.set_index("ymd",drop=False,inplace=True)
print(df.resample("5H").asfreq())
#每天转成每5天显示一次:降采样,用于统计
print(df.resample("5D").mean())
最后
以上就是直率鲜花为你收集整理的pandas的增删查改的全部内容,希望文章能够帮你解决pandas的增删查改所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复