ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

数据科学的python核心(1)

2021-04-23 21:32:45  阅读:190  来源: 互联网

标签:mylist name python 核心 urllib 科学 字符串 world Hello


数据科学入门

1.理解基本的字符串

大小写转换函数返回原始字符串的S的一个副本:lower()函数将所有字符转换成小写字母,upper()函数将所有字符转换成大写;
capitalize()将函数的第一个字母转换成大写,同时将其他所有字符转换成小写。
islower():检查所有字母字符是否为小写,isupper()检查所有字母字符是否为大写;issapce()检查所有字母字符是否为空格;isdigit()检查所有字符是否为数字;isalpha()检查所有字符是否为字母。

python 用符号b来标识二进制。

bin=b"Hello"
bin[0]
72
s='Hello'
s[0]
'H'
bin.decode()  #将二进制转化成字符串
'Hello'
s.encode()  #将二进制转化成字符串
b'Hello'

字符串的处理第一步是去除不需要的空白(包括换行和制表符)。函数lstrip()(left strip)、rstrip()(right strip)和strip()分别是在字符串的开始处、结束处或对整个字符串删除所有的空格(不删除字符串内部空格)。

"   Hello, world! \t\t\n".strip()
'Hello, world!'
'Hello , world!'.split(',')  #将字符串以','分隔并存为列表
['Hello ', ' world!']
','.join(['hello','world','huai','xun'])  #将字符串列表连接在一起
'hello,world,huai,xun'
'-'.join(['1997','10','06'])
'1997-10-06'
'sdshfj.jdhsjjfh.43iweud.com'.find('.com') #find(needle)返回字符串中子串needle第一次出现的索引
23
'sdshfj.jdhsjjfh.43iweud.com'.count('.') #返回.在字符串中出现的次数
3

2.选择适合的数据结构

列表、元组、集合和字典

列表推导式

mylist=[1,3,5,7,9]
[x for x in mylist]  #复制列表,等价于mylist.copy()
[1, 3, 5, 7, 9]
[x for x in mylist if x>=0] #提取非负项
[1, 3, 5, 7, 9]
[x**2 for x in mylist]
[1, 9, 25, 49, 81]
[1/x for x in mylist if x!=0]
[1.0, 0.3333333333333333, 0.2, 0.14285714285714285, 0.1111111111111111]

使用计数器

计数器是一种字典的集合,用于给一个项目集合计数。计数器定义在collections模块中的构造函数Counter中,使用most_common(n)来获取n个出现频率最高的项,没有提供参数n时,将返回一个针对所有项目的列表。

from collections import Counter
phrase='Hello huaixun i miss you so much and you too i like you so much Hello haha'
count=Counter(phrase.split())
count.most_common(4)
[('you', 3), ('Hello', 2), ('i', 2), ('so', 2)]
coundic=dict(count.most_common())
coundic
{'you': 3,
 'Hello': 2,
 'i': 2,
 'so': 2,
 'much': 2,
 'huaixun': 1,
 'miss': 1,
 'and': 1,
 'too': 1,
 'like': 1,
 'haha': 1}

使用文件

文件是用于长期存储数据的非易失性容器。与文件相关的操作包括打开文件,从文件中读取数据或者将数据写入文件,以及关闭文件。可以打开文件进行读取(‘r’)、写入(‘w’)或者追加(‘a’)。
f=open(name,mode=‘r’)
<>
f.close()

with open(name,moder=‘r’) as f:

f.read() #以字符串或者二进制的方式读入所有数据

f.read()#读取前n个字节数据

f.readline()#以字符串的形式读入下一行

f.readlines()#以字符串的形式读取所有行

f.write(line) #将字符串或者二进制写入文件

f.writelines(lines)#写入字符串数据列表

with open('测试文本.txt','a') as f:
    #L=f.readlines()
    f.write('what is you name?')
with open('测试文本.txt','r') as f:
    L=f.readline()
L
'what is you name?what is you name?what is you name?'

上网

urllib.request模块包含从web下载数据的函数。无论要从web上获取什么,第一步都是用urlopen(url)打开网址,获取打开网页的句柄。接下来就可以使用 进行读取解析等操作。通过使用函数:read(),readline(),readlines()访问数据。
import urllib.request
try:
with urllib.request(url) as doc:
html=doc.read()
except:
print(‘could not open %s’%doc,file=sys.err)
当数据集部署在在需要验证身份的网站上时,就不能使用urlopen()函数,此时应该使用提供的安全套接层(SSL,例如OpenSSL)的模块。
urllib.parse模块提供了用于解析和构造网址的友好工具。函数urlparse()函数将网址分成六个元素的元组:协议,网络地址,文件参数路径,参数,查询和片段。

import urllib.parse
url='http://networksciencelab.com/index.html;param?foo=bar#content'
urllib.parse.urlparse(url)
ParseResult(scheme='http', netloc='networksciencelab.com', path='/index.html', params='param', query='foo=bar', fragment='content')

标签:mylist,name,python,核心,urllib,科学,字符串,world,Hello
来源: https://blog.csdn.net/ym18861512953/article/details/116071594

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有