1、dataset.shape[0]
group=np.array([[1.,1.1],[1.,1.],[0.,0.],[0.,0.1]])
printgroup.shape[]
print group.shape[1]
答案:4
2
2、Python 中tile用法:
功能:重复某个数组,比如:tile(A,n),则是将数组A重复n次,
a=[,1,2]
b=np.tile(a,2)
printb
printnp.tile(a,(1,2))
printnp.tile(a,(2,1))
[0 1 2 0 1 2]
[[0 1 2 0 1 2]]
[[0 1 2]
[0 1 2]]
3、Python中numpy中argsort函数用法
从中可以看出argsort函数返回的是数组值从小到大的索引值
One dimensionalarray:一维数组
>>> x = np.array([3, 1, 2])
>>> np.argsort(x)
array([1, 2, 0])
>>> x = np.array([3, 1, 2])
>>> np.argsort(x) #按升序排列
array([1, 2, 0])
>>> np.argsort(-x) #按降序排列
array([0, 2, 1])
4、Python中get用法:
若get的key在字典中则返回对应值,若不在字典中,返回设置的默认值,dic_data.get(4,2),将返回2
dic_data={1:'one',2:'two',3:'three'}
printdic_data.get(1,)
printdic_data.get(4,)
5、Python中items()和iteritems()函数的用法:
dic_data={1:'one',2:'two',3:'three'}
printdic_data.items()
b=dic_data.iteritems()
# print list(b)
fork,vinb:
printk,v
其中,list(b)结果:[(1, 'one'), (2, 'two'), (3, 'three')]
iteritems()返回一个迭代器(iterable)
[(1, 'one'), (2,'two'), (3, 'three')]
1 one
2 two
3 three
6、Python中sorted()方法的用法:
(1)iterable,中文意思是迭代器。
Python的帮助文档中对iterable的解释是:iteralbe指的是能够一次返回它的一个成员的对象。iterable主要包括3类:
第一类是所有的序列类型,比如list(列表)、str(字符串)、tuple(元组)。
第二类是一些非序列类型,比如dict(字典)、file(文件)。
第三类是你定义的任何包含__iter__()或__getitem__()方法的类的对象。
(2)python中sorted方法:
sorted(iterable[,cmp,[,key[,reverse=True]]])
作用:Return a new sorted list from the itemsin iterable.
第一个参数是一个iterable,返回值是一个对iterable中元素进行排序后的列表(list)。
可选的参数有三个,cmp、key和reverse。
1)cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。
2)key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。
3)reverse是一个布尔值。如果设置为True,列表元素将被倒序排列。
通常来说,key和reverse比一个等价的cmp函数处理速度要快。这是因为对于每个列表元素,cmp都会被调用多次,而key和reverse只被调用一次
(3)Sort与sorted的区别:
1、由于a.sort()修改了原始的list,因此返回值是none,此时不如sorted方便,
但如果不需要原始的list时,list.sort()方法效率稍高(不明白)
a=[5,2,3,1,4]
printsorted(a)
# a.sort()
printa.sort()
对以上代码做修改
a=[5,2,3,1,4]
printsorted(a)
a.sort()
printa
2.list.sort()方法只为list定义,而sorted()函数可以接受任何的iterable
a={1:'D',2:'B',3:'B',4:'E',5:'A'}
printsorted(a)
结果:
[1, 2, 3, 4, 5]
(4)key functions(关键字函数)
s="This is a test string from Andrew"
prints
prints.split()
prints.lower()
printsorted(s.split(),key=str.lower)
Key的值是一个函数,这个函数接收一个参数,并且返回一个用于比较的的关键字。这种技术比较快,原因在于对每个输入记录,这个函数只会被调用一次。
对复杂对象的比较,通常是使用对象的切片作为关键字:
student_tuples=[('join','A',15),('jane','B',12),
('dave','B',10)]
printsorted(student_tuples,
key=lambdastudent:student[2])
Operator模块中的函数,itemgetter, 【attrgetter, mothodcaller】(本篇未学习)函数
Operator支持多级排序:
student_tuples=[('join','A',15),('jane','B',12),
('dave','B',10)]
# print sorted(student_tuples,key=lambda student:student[2])
fromoperatorimportitemgetter,attrgetter
printsorted(student_tuples,key=itemgetter(2))
printsorted(student_tuples,key=itemgetter(1,2))
(5)升序和降序:
List.sort()和sorted()都接收一个reverse参数:例,获得学生年龄的倒序排序:
fromoperatorimportitemgetter,attrgetter
printsorted(student_tuples,
key=itemgetter(2),reverse=True)
[('join', 'A', 15), ('jane', 'B', 12),('dave', 'B', 10)]
学习网站:
KNN算法的约会网站数据
http://www.cnblogs.com/share-happy-everyday/p/7568928.html
http://www.cnblogs.com/woshitianma/p/3222989.html
领取专属 10元无门槛券
私享最新 技术干货