​python数据处理冷门但好用的包

1、phone包,根据电话号码查询号码信息,包的github地址在https://github.com/ls0f/phone,支持”13*,15*,18*,14[5,7],17[0,6,7,8]”号段的查询号码信息,以下为使用代码:

from phone import Phone
p  = Phone()
p.find(1358977668)

 

2、ngender包,可以通过名字判定性别,当然这个性别是通过数据推测的,并不意味是准确的,但是有一定的准确率,后面接的是概率。像下面这个代码意味着有94%的概率认为这个名字是女性的名字。

 

 

3、cocoNLP包,这个包也是很牛逼的,可以帮你解析一段文本中的各类信息,他的github地址是:https://github.com/fighting41love/cocoNLP,但是他安装的时候有点慢,不是你电脑卡,就是他安装的问题,你装的时候,耐心点哈。代码演示如下:

 

from cocoNLP.extractor import extractor
ex = extractor()
text = '急寻特朗普,男孩,于2018年11月27号11时在陕西省安康市汉滨区走失。丢失发型短发,...如有线索,请迅速与警方联系:18100065143,132-6156-2938,baizhantang@sina.com.cn 和yangyangfuture at gmail dot com'
# 抽取邮箱
emails = ex.extract_email(text)
#抽取手机号
cellphones = ex.extract_cellphone(text,nation='CHN')
# 抽取手机归属地、运营商
cell_locs = [ex.extract_cellphone_location(cell,'CHN') for cell in cellphones]
#抽取地址信息
locations = ex.extract_locations(text)
#抽取时间点
times = ex.extract_time(text)
# 抽取人名
name = ex.extract_name(text)

 

4、pandas_profiling包,一行python代码生成超详细的数据分析报告,代码如下:

import pandas as pd
import pandas_profiling  
data=pd.read_csv('/Users/Betty/Downloads/京东购买意向预测/data/JData_FUser.csv')
ff=pandas_profiling.ProfileReport(data)
ff.to_file(output_file='result/titanic_report.html')#存为html网页
 

 

5、records包,你在上手python是不是还是因为python的表操作感到不满意,那么这个包是干嘛的,就是让你在python里面写sql的。以上信息来自:https://www.zhihu.com/question/24590883/answer/799802849

 

import records # 获取数据库 db = records.Database('mysql+pymysql://root:@localhost:3306/dev01_git') # 查询
rows = db.query('select * from lemon_user')

 

 

db = records.Database('mysql+pymysql://root:@localhost:3306/dev01_git')
# 创建表
sql_create_table = """CREATE TABLE IF NOT EXISTS lemon_user (
    name varchar(20),
    age int
) DEFAULT CHARSET=utf8 ;"""
 
db.query(sql_create_table)
#插入单条数据user = {"name": "yuze5", "age": 20}
db.query('INSERT INTO lemon_user(name,age) values (:name, :age)', **user)
#插入多条数据
users = [
    {"name":"yuze", "age": 13},
    {"name":"yuze2", "age": 15},
    {"name":"yuze3", "age": 16}
]
db.bulk_query('INSERT INTO lemon_user(name,age) values (:name, :age)', users)
#数据查询
rows = db.query('SELECT * FROM lemon_user;') # 得到所有数据
print(rows.all()) # 字典形式展示
print(rows.all(as_dict=True)) # 获取第一个
print(rows.first()) # 以字典形式获取第一个
print(rows.first(as_dict=True)) # 排序字典
print(rows.first(as_ordereddict=True)) # 查询唯一的一个 print(rows.one())

 

 

6、pytime包,链接在这:https://github.com/shinux/PyTime,至今有时候我处理时间格式的数据还是很头疼,这个包的好处就是,你无论输入什么格式的字符类型时间,他都能帮你把他变成标准的时间。

>>>pytime.parse('April 3rd 2015')
datetime.date(2015, 4, 3)
>>>pytime.parse('Oct, 1st. 2015')
datetime.date(2015, 10, 1)
>>>pytime.parse('NOV21th2015')
datetime.date(2015, 11, 21)
>>>pytime.parse('2015517')
datetime.date(2015, 5, 17)
>>>pytime.parse('5/17/15')
datetime.date(2015, 5, 17)
>>>pytime.parse('92-11-2')
datetime.date(1992, 11, 2)
>>>pytime.parse(1432310400) # support datetimestamp for all function
datetime.datetime(2015, 5, 23, 0, 0)

 

接下来还有数据处理中,哪些通用并且常用的正则化语句献上!!!

1、提取信息中的电话号码,这个语句通过正则式的形式,可以直接提取文本中的电话号码

cellphone_pattern = '^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\d{8}$'
phoneNumbers = re.findall(cellphone_pattern, text, flags=0)


 

2、提取信息中的身份证号码,原理同上,提取文本中的身份证号码


IDCards_pattern = r'^([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9xX])$'
IDs = re.findall(IDCards_pattern, text, flags=0)

 

3、提取信息中的ip地址

Ip=’^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)’
Ip_address= re.findall(Ip, text, flags=0)

 

4、提取信息中的qq号码:

QQ_pattern=’^[1-9]([0-9]{5,11})’
QQ= re.findall(QQ_pattern, text, flags=0)
 

5、提取信息中的固话号码:


Phone_pattern=’^[0-9-()()]{7,18}’
Phone=re.findall(Phone_pattern, text, flags=0)

                                      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值