当前位置: 首页 > news >正文

专门做当归的网站建设医院官方网站

专门做当归的网站,建设医院官方网站,试用网站空间,网页版梦幻西游天象攻略一. 检测重复值 1.1 检测 data pd.read_csv("./teacher/订单数据.csv")检测行与行之前是否有重复值 data.drop_duplicates()检测 列是否有重复值出现, keep first 从前往后判定 , last是从后往前判定data.drop_duplicates(subset["产…

一. 检测重复值

1.1  检测

data =pd.read_csv("./teacher/订单数据.csv")检测行与行之前是否有重复值
data.drop_duplicates()检测 列是否有重复值出现, keep = first 从前往后判定 , last是从后往前判定data.drop_duplicates(subset=["产品类别","省份"],keep="last")

1.2 删除重复值   drop_duplicates

data.drop_duplicates(subset = ["产品类别","省份"],keep="first")

二. 时间分组

2.1 时间修饰器

数据类型必须是 datetime64[ns]可以获取年份
data.日期.dt.year获取周几 但是默认周日 是 0 ,用replace 将 0 换成 7
data.日期.dt.weekday.replace({0:7})

2.2  将 data 表 的日期 按照 年进行分组

data.groupby(by=[data.日期.dt.year]).agg({"金额":"sum"})用时间修饰器 将 日期 提取年份

2.3   将 data 表 的日期 按照 年月 进行分组

  • data.日期.dt.strftime("%Y-%m-01") 
    • strftime 相当于python 中的 f“{}”

data.groupby(by=[data.日期.dt.strftime("%Y-%m-01")]).agg({"金额":"sum"})

2.4 下单的时段 

  • 0-4 : 午夜   5-7 : 凌晨    8-11: 早晨   12-14: 中午  15-18 : 下午    19-21 : 傍晚   22 - 23 : 深夜
定义时段
  •      map()  (是对series 进行循环的)
def func(x):if x<5:return "午夜"elif x<8:return "凌晨"elif x<12:return "早晨"elif x<15:return "中午"elif x<19:return "下午"elif x<22:return "傍晚"else:return "深夜"data["时段"] = data.日期.dt.hour.map(func)data.日期.dt.hour 这里计算出 hour后, 返回到func中,再返回出 相应的时间

2.5 下单时间距今差值

     计算数据的最大的日期

     way1
ds = data.groupby(by=["省份"]).日期.max()Timestamp('2016-07-28 20:12:12')因为ds = data.groupby(by=["省份"]).日期.max() 计算出来的数据类型是时间戳
所有想计算出 天数  需要用  np.timedelta64(1,"D")(datetime(2016,7,29) - ds)  / np.timedelta64(1,"D")

    三 .重采样(resamle)

  • 要求日期时间类型的列 必须作为行索引
将 列 日期 转为 行索引
data.set_index(["日期"],inplace=True)data.resample("Y").agg({"金额":"sum"})
这样就会 按照年进行分组金额
日期	
2013-12-31	853625
2014-12-31	124443
2015-12-31	1228887
2016-12-31	377721

四. 数据分箱 (只能对序列 类型分箱

  • 连续数据类型 : 数字
  • 离散数据类型 : 文字
  • 一般看的数据表达的含义
    • 连续 : 时间类型 可以进行 运算 ,也可以 进行正反推
    • 离散 : 当前 时间 范围有限,所以任务 时间 是离散型

数据的分箱 可以 把 连续数据类型 修改成 离散数据类型

  • 时间 : 0~23 就是离散类型

4.1 pd.cut() 分箱操作

pd.cut(data.金额,bins=1000)
分箱操作  bins 是分箱的数量
三种分箱操作
pd.cut(data.金额,bins=1000) #等分间隔
pd.cut(data.金额,bins=range(0,20001,5000))[(0, 5000] < (5000, 10000] < (10000, 15000] < (15000, 20000]pd.cut(data.金额,bins=[0,500,1500,5000,10000,20000],labels=list("ABCDE"))['A' < 'B' < 'C' < 'D' < 'E']

4.2  按照 百分位进行 分箱 , 就是 25% ,50%  (pd.qcut)

pd.qcut(data.金额,q=4)  意思是 按照 4 分位进行计算 0.25
[(1.999, 15.75] < (15.75, 40.0] < (40.0, 175.0] < (175.0, 17890.0]]可以用
data.金额.quantile(0),data.金额.quantile(0.25),data.金额.quantile(0.5),data.金额.quantile(0.75),data.金额.quantile(1) 进行验证(2.0, 15.75, 40.0, 175.0, 17890.0)

五. 字符修饰器

  5.1   contains()  包含...

#包含自行车字样 
data.loc[data.产品子类别.str.contains("自行车")].groupby(by=["产品子类别"]).金额.sum()

5.2  startswith()  以...开头

data.loc[data.产品子类别.str.startswith("自行车")].groupby(by=["产品子类别"]).金额.sum()

5.3   endswith()  以... 结尾

data.loc[data.产品子类别.str.endswith("自行车")].groupby(by=["产品子类别"]).金额.sum()

5.4   str.upper().  大写     str.lower().   小写       str.title().   首字母大写       str.swapcase()  大小写转换

 data.产品名称.str.upper().str.lower().str.title().str.swapcase()

5.5    字符串的分割 与 拼接   str.split().     str.join()

data.产品名称.str.split(" ").str.join("-")以空格分隔 ,再用 - 拼接

5.6  指定出现的字符

data.产品名称.str.count("T")

5.7 每个字符的长度

data.产品名称.str.len()

5.8  编码和解码   encode 编码  decode 解码

data.产品子类别.str.encode("936").str.decode("GB2312")

5.9  居中对齐   左对其   右对齐

data.产品子类别.str.center(15)  居中对齐
data.产品子类别.str.ljust(15)    左对齐
data.产品子类别.str.rjust(15)    右对齐

6.0  字符长度固定  zfill  和  str.pad()

data.产品子类别.str.zfill(10)0       00000车胎和内胎
1       0000000骑行服
2       00000旅行自行车
3       00000山地自行车
4       00000车胎和内胎data.产品子类别.str.pad(10,side="left",fillchar="-") 左填充 -
0       -----车胎和内胎
1       -------骑行服
2       -----旅行自行车
3       -----山地自行车

6.1  数据类型的判断

s.str.isalpha()  #字母s.str.isnumeric()  #纯数字组成s.str.isdigit()   #数字s.str.istitle()  # 开头是大写 其他都小写

六 . 时间序列

6.1  获取当前日期时间   datetime.now()     .strftime()  就是类似format 

#获取当前日期时间
datetime.now().strftime("%Y-%m-%d %H:%M:%S")

6.2  时间戳  Timestamp

pd.Timestamp(1234567890,unit="s",tz="Asia/ShangHai")
unit是 时间单位 s是秒 m是月 ,tz是时区把一个序列中的字符 转换成  datetime64
pd.to_datetime([("2015-1-1")])
DatetimeIndex(['2015-01-01'], dtype='datetime64[ns]', freq=None)#Timestamp  
pd.Timestamp(datetime(2050,1,1))
Timestamp('2050-01-01 00:00:00')pd.Timestamp("2038-1-1 T23")  
#Timestamp('2038-01-01 23:00:00')
#T 是 time 时间

6.3  时间的相关计算

  • Timedelta :代表 时间单位
Timedelta :代表 时间单位
pd.Timestamp(2234567890,unit="s") - np.timedelta64(1,"D")np.timedelta64(1,"D")  1 d for day
  • 一年当中第多少天
pd.Timestamp(2234567890,unit="s").dayofyear  #一年当中第多少天
  • 一年中的第多少周
pd.Timestamp(2234567890,unit="s").weekofyear #一年中的第多少周
  • 当前月份有多少天
pd.Timestamp("2020-2-2",unit="s").days_in_month

七. 内置样式

给空值 高亮
df.style.highlight_null()df.style.highlight_between(subset=["A"],color="#ff10002f")df.style.background_gradient(cmap="rainbow")
梯度背景色格式
df.style.format({"A":"¥{:,.2f}"})"¥" 表示人民币符号。
{:,.2f} 是一个格式说明符,用于格式化浮点数,具体含义如下:
: 表示格式说明符的开始。
, 表示千位分隔符,用于在数字中插入逗号,提高可读性。
.2f 表示保留两位小数的浮点数日期
df1.style.format({"日期":"{:%Y年%m月%d}"})订单ID	日期
0	a01	2015年11月13
1	a02	2015年11月20
2	a03	2015年11月11
3	a04	2015年07月27
4	a05	2015年11月16df1.日期.dt.strftime("%Y年")
0    2015年
1    2015年
2    2015年
3    2015年
4    2015年
Name: 日期, dtype: object

http://www.yayakq.cn/news/831067/

相关文章:

  • 网站运营推广怎么做做外贸 网站邮箱申请
  • 佛山南海建设局网站wordpress模板如何安装
  • 海晏县公司网站建设做图文网站要什么配置的服务器
  • 有没有做那事的网站生成属于自己app的软件
  • 网站用户后台是怎么做的营销型网站与普通网站的区别
  • 申请做网站 论坛版主学校网站
  • 合肥做网站123cms网站布局建设
  • 建设网站的不足建设公司网站管理制度的意义
  • 网站导航栏图标网站建设与管理专业就业
  • 通过网站做跳板服装品牌网站开发php
  • 额尔古纳做网站wordpress插件 connect
  • 建设微信网站需要服务器如意影院
  • 环球资源网商务网站建设目的企业管理咨询培训
  • 怎样申请自己的电商平台网站建设 网站优化营销型网站建设专家
  • 吴江建网站优荐苏州聚尚网络阿里巴巴网站开发工具
  • 适合vue做的网站类型新手学做网站pdf手
  • 网站后期培训机构全国排名腾讯广告投放推广平台
  • dedecms手机网站插件营销型网站的整体规划
  • 深圳开发微信公众号班级优化大师官方免费下载
  • 求个网站这么难吗2022年贴吧手机logo免费设计软件
  • 哪些网站做任务好赚钱网站建设什么语言比较好
  • 西安专业做淘宝网站的公司地方新闻门户网站源码
  • 上海模板建站公司团队建设优缺点
  • 赤峰市网站建设2022新闻热点事件简短30条
  • 代理做网站的合同专业网站建设费用
  • 宁波网站制作方案广州网站优
  • 网站源码下载网站河源网站优化
  • 小型教育网站的开发与建设环境设计排版素材网站
  • 网站收录500多页黑帽seo易下拉霸屏
  • 高性能网站开发 书籍推荐小蚁人网站建设