银川做网站最好的公司网站开发环境有哪些php
1.数据拆分
pandas.Series.str.extract()
Series.str.extract(pat, flags=0, expand=True)[source]
 
extract(提取)
参数
pat: 带分组的正则表达式。
flag: re模块中的标志,例如re.IGNORECASE,修改正则表达式匹配的大小写、空格等
expand: 默认为True,如果为 True,则返回每个捕获组一列的 DataFrame。如果为 False,则如果有一个捕获组则返回 Series/Index,如果有多个捕获组则返回 DataFrame
例子
jobs_df['site'].head() 
0      北京 海淀区 西山
1     北京 朝阳区 酒仙桥
2     北京 朝阳区 十里堡
3    北京 石景山区 八宝山
4     北京 朝阳区 三元桥
Name: site, dtype: object 
使用extract提取地址关键词,这里的?P<>是为组命名,这样就能自动给定columns
jobs_df['site'].str.extract(r"(?P<city>\S{,})\s{0,3}(?P<part>\S{,})\s{0,3}(?P<street>\S{,})").head() 
	city	part	street
0	北京	海淀区	西山
1	北京	朝阳区	酒仙桥
2	北京	朝阳区	十里堡
3	北京	石景山区	八宝山
4	北京	朝阳区	三元桥 
2.数据分箱
pandas.cut
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise', ordered=True) 
参数
x: 要分箱的一维数组或者序列。
bins: 整数或者序列,定义分段的边界。整数表示等分的段数,序列表示每个分段的具体边界。
right: 判断右边界是否闭合,默认为True。如果right == True, 则 bins = [1, 2, 3, 4] 箱子为 (1,2], (2,3], (3,4]。(这个参数只影响右边界)
labels: 箱子的标签
例子
bj_df.head()姓名	出生年月	            单位名称	           积分分值 年龄
公示编号					
202300001	张浩	1977-02-01	北京首钢股份有限公司	        140.05	45
202300002	冯云	1982-02-01	中国人民解放军空军二十三厂	134.29	40
202300003	王天东	1975-01-01	中建二局第三建筑工程有限公司	133.63	48
202300004	陈军	1976-07-01	中建二局第三建筑工程有限公司	133.29	46
202300005	樊海瑞	1981-06-01	中国民生银行股份有限公司	    132.46	41 
bj_df['年龄段'] = 
pd.cut(x=bj_df.年龄,bins=[35,40,45,50,60],right=False,labels=['35-40','40-45','45-50','50-60'])公示编号  	姓名	出生年月	          单位名称	           积分分值 age  box
0	202300001	张浩	1977-02-01	北京首钢股份有限公司	        140.05	45	40-45
1	202300002	冯云	1982-02-01	中国人民解放军空军二十三厂	134.29	40	35-40
2	202300003	王天东	1975-01-01	中建二局第三建筑工程有限公司	133.63	48	45-50
3	202300004	陈军	1976-07-01	中建二局第三建筑工程有限公司	133.29	46	45-50
4	202300005	樊海瑞	1981-06-01	中国民生银行股份有限公司	    132.46	41	40-45# 与bins=4的结果一样
bj_df['box'] = pd.cut(bj_df['age'], bins=4, right = False, labels=['35-40','40-45','45-50','50-60'])
bj_df.head() 
