python科学计算与数据科学应用,python数据科学入门
字符串的常用方法
说明
字符串[开始:结束:步骤]
字符串片段
字符串分割
字符串分段
string.strip
删除开头和结尾的空白
string.rstrip
删除字符串右边的空格。
string.lstrip
删除字符串的左边距。
字符串.索引
返回子字符串的第一个匹配项。
字符串.替换
字符串替换
九月加入
根据sep分隔符将迭代对象拼接成字符串
字符串.计数
计算字符串的子字符串
字符串.查找
返回子字符串的第一个出现位置。
字符串. startwith
字符串是以什么开头的吗?
字符串. endwith
字符串是以什么结尾的吗?
使用字典对象word_dict={}
对于sentence.split()中的单词:
如果单词不在word_dict中:
word_dict[word]=1
否则:
word_dict[word]=1
对于sentence.split()中的单词:
word_dict.setdefault(word,0)
word_dict[word]=1
word_dict=defaultdict(int)
对于sentence.split()中的单词:
word_dict[word]=1
word _ dictdefaultdict的作用:defaultdict的作用是当字典中的键不存在但被找到时,它返回一个默认值而不是一个keyError。
比如键不存在时,返回工厂函数的默认值,比如list对应[],str对应空字符串,set对应set(),int对应0。
word_dict.items()中关键字、值的遍历字典:
Pirnt键,集合导入计数器中的值统计字典
使用字典中的字典从集合导入默认字典。
user _ movie _ rating=default dict(lambda:default dict(int))
用户_电影_评级[1][1]=4
User_movie_rating[1][2]=5使用元组元组是顺序容器对象,不可变,不允许插入操作。
使用设定的Jaccard系数:
str _ 1=[狗,追,猫]
str_2=(狗,恨,猫)
st_1_wrds=set(str_1.split())
st_2_wrds=set(str_2.split())
n1=len(st_1_wrds)
n2=len(st_2_wrds)
#找出集合中的常用词,统计次数。
cmn=ST _ 1 _ wrds . intersection(ST _ 2 _ wrds)
no cmn=len(ST _ 1 _ wrds . intersection(ST _ 2 _ wrds))
#找出集合中没有重复的单词,并统计次数
unq=st_1_wrds.union(st_2_wrds)
nounq=len(ST _ 1 _ wrds . union(ST _ 2 _ wrds))
#计算相似性
相似度=nocmn/(1.0*nounq)写一个列表a.append(),a.pop()
从随机导入洗牌
#shuffle随机打乱生成的序列
a=范围(1,20)
洗牌
排序()
A.reverse()是从另一个列表创建的列表派生a=[1,2,-1,-2,3,4,-3,-4]
b=[pow(x,2) for x in a if x 0]
Print使用迭代器来生成迭代器和生成器。迭代器对象使用迭代器。从集合中的第一个元素开始访问对象。在访问完所有元素之前,迭代器不会后退。
基本方法:iter()和next()
list=[1,2,3,4]
创建一个迭代器对象
Print(next(it)) #输出迭代器的下一个元素
出局:1
打印(下一页)
Out:2要使用类作为迭代器,需要在类中实现两个方法_iter_()和_next_()。
iterator()方法返回一个特殊的iterator对象,该对象实现next()方法,并通过StopIteration异常来标识迭代的完成。
生成器:使用yield语句而不是return语句返回结果。yield语句一次返回一个结果。在每个结果的中间,暂停函数状态,以便它可以在下次停止的地方继续执行。
生成器表达式:类似于列表派生,但是,生成器不是一次构建一个结果列表,而是返回一个对象,该对象通过。
Decorator Decorator:是一个函数的函数,因为Decorator传入的参数是一个函数,这个函数的功能是通过实现各种函数来增强的。特点:简洁
有或没有装饰器的代码实现:
不带装饰器:
从时间导入时间,睡眠
def fun_one():
开始=时间()
睡眠(1)
end=时间()
成本时间=结束-开始
打印( func one运行时{})。格式(成本时间))
def fun_two():
开始=时间()
睡眠(1)
end=时间()
成本时间=结束-开始
打印( func两个运行时间{} 。格式(成本时间))
def fun_three():
开始=时间()
睡眠(1)
end=时间()
成本时间=结束-开始
打印( func三运行时间{} 。使用装饰器格式化(cost _ time):
定义运行时间(函数):
def包装():
开始=时间()
func() #函数在这里运行。
end=时间()
成本时间=结束-开始
打印( func三运行时间{} 。格式(成本时间))
返回包装
@run_time
def fun_one():
睡眠(1)
@run_time
def fun_two():
睡眠(1)
@run_time
def fun_three():
睡眠(1)带参数的装饰器
定义记录器(消息=无):
定义运行时间(函数):
极好的包装(*args,**kwargs):
开始=时间()
函数()#函数在这里运行
结束=时间()
成本时间=结束-开始
打印([{}] func三次运行时间{} )。格式(消息,成本时间))
返回包装
返回运行时间
@logger(msg=One )
def fun_one():
睡眠(1)
@logger(msg=Two )
def fun_two():
睡眠(1)
@logger(msg=Three )
def fun_three():
睡眠(1)
fun_one()
fun_two()
fun_three()lambad,地图,过滤器、zip、izip数据分析(探索)用图表分析单变量数据数据为单维x,目标为y
方法:散点图,百分位,消除异常值
将数组作为铭牌导入
从matplotlib.pylab导入法兰
将matplotlib.pyplot作为血小板计数导入
fill_data=lambda x:int(x.strip()或0)
数据=NP。genfromtxt(总裁。txt ,dtype=(int),converters={ 1:fill _ data } delimier=[,])
x=数据[:0]
y=数据[:1]
plt。图(1)
plt.title()
plt.plot(x,y)
#百分位
perc_25=np.percentile(y,25)
#消除异常值
y _ masked=NP。马。masked _ where(y==0,y)科普熊猫ix,iloc,loc区别数据=pd .Series(np.nan,index=[49,48,47,46,45,1,2,3,4,5])
data.iloc[:3]
49南
48南
47南
data.loc[:3]
data.ix[:3]iloc[:3]读取前3行
位置[:3]读取索引为3之前的行
九[:3]会先寻找索引为3的,如果没有再寻找位置为3行的
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。