2697-余小雯-算法方向-数据挖掘-就业:是 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

列表推导式,生成列表

[表达式 for item in 可迭代对象]

[表达式 for item in 可迭代对象 if 条件]

[(a,b,c) for a in 可迭代对象 for b in 可迭代 for c in 可迭代]

字典推导式,生成字典,多于与统计众数

dict={ key:表达式 key in 可迭代对象} 表达式为key的函数

str="avvjfkjkjadjla"

dict={key:str.count(c) for c in str}

集合推导式

b={x for x in 可迭代 if条件}

元组 生成器推导式

gn=(x for x in 可迭代) 只能用一次

print(tuple(gn))

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

zip并行迭代

name=(a,b,c,d)

age=(1,2,2)

for name, age in zip(name,age):

          print("{0}-{1}".format(name ,age))

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

集合是无序可变,元素不能重复,底层是字典,所有元素是字典的键

a={key1,key2,key3}

a.add(newkey)

a.remove(key)

a.clear()

a=set(list)

a=set(tuple)

a|b 或者a.union(b) 并集

a&b a与b的交集

a-b 差集

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

字典查找的底层逻辑

key1值先转换散列码,先取散列码右侧数组位数的值,取出与其等值的引索对应的key2, 对key1和key2进行哈希值验算,一样则取出来value,不一样则再取key1散列值右侧数组位,得到新引索,继续比较

键必须可散列,数字,字符串,元组

自定义键必须满足

支持hash()函数

支持_eq_()方法检测相等

a==b为真,则 hash(a)==hash(b)为真

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

字典底层原理

散列表:稀疏数组,数组的基本单元bucket

bucket包含key和value

key通过计算哈希值(散列码),根据数组位数从右向左取2进制值,并于散列表的索引对比,有空位就放入,无空位哈希值继续左移一个数组位数,继续配位。如果历遍仍无配位则数组扩容。

数组满60%,进行扩容

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

表格数据

r1={key1:value1,key2:value2,key3:value3}字典定义单行

r2={key1:value1,key2:value2,key3:value3}

tb=[r1,r2],列表组件表格

访问值

tb[0].get("key")

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

序列解包

a,b,c=dict       a,b,c接受键

a,b,c=dict.values()  abc接受值

a,b,c=dict.items() abc接受键值对

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

字典修改

dict[键]=值, 添加新元素,key重复则覆盖

dict1.update(dict2),以dict2的内容加入dict1,键重复则覆盖。

del(dict[键1]) 删除键1和值

dict.pop("键1"),删除键1值对,并返回值

dict.clear()清空字典

dict.popitem()随机移除一个键值对

 

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

字典访问

dict.get("键",“不存在时返回的值”)

dict.items() 显示所有键值对

dict.keys() 显示所有键

dict.values() 显示su

len(dict) 返回键值对数量

"键" in dict判断键是否在字典里

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

通过切片访问返回的还是元组

元组排序只能用sorted(),并生成列表

zip(list1,list2,list3),返回zip对象并将每个列表转化为元组

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

字典:键值对的无序可变序列

键为不可变数据,不可重复

a={键1:值1,键2:值2}

b=dict(键1=值1,键2=值2)

c=dict(  [  (键1,值1),(键2,值2)  ]  )

d=dict(zip(list1,list2))

e=dict.fromkeys([key1,key2 ,key3])

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

生成器推导式,产生生成器对象

s=(x*2 for x in range(5))

tuple(s) 转换为元组,用完一次s失效

s._next_()指针调动,输出当前值并下移

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

list.index(值,位置1,位置2)返回位置1-到位置2之间的第一个“值”的位置。

list.count(值)

成员资格

值 in (not in) list,返回True,False

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

元组是不可变序列

创建元组

a=(,,,)

a=tuple(字符,数字,列表)

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

多维列表:列表嵌套

a[一维引索][二维引索]

 

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

列表排序 修改原列表,不建立新列表

list.sort()默认升序排列

list.sort(reverse=True)降序排列

import random

random.shuffle(list)

列表排序,建立新列表

new_list=sorted(list),升序

new_list=sorted(list,reverse=True),降序

c=reversed(list)返回逆序排列的迭代器对象,只能用一次

max(list), min(list)

sum(list),数值型列表可用

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

列表元素提取

list[起始位置:终点位置:step], 从起始位置到终点-1位置,step为-1时反向提取

[展开全文]
1553_N_GX · 2021-05-18 · 解锁式学习 0

列表元素删除

del a[位置],有数组拷贝,地址不变

list.pop(位置),删除位置上的元素并返回元素值

list.remove(值),删除第一个指定值,不存在就报错。

[展开全文]
1553_N_GX · 2021-05-17 · 解锁式学习 0

列表增加,删除

append(),

尽量减少在列表中间修改,涉及大量复制会消耗内存,尽量在尾部删,增。

a=a+[],非尾部添加,实际是创建新列表,耗内存

expend(),

原地址尾部添加

expend([50,60]),不改变地址,适合两个列表对接

insert(索引,值) 元素插入指定位置,设计大量拷贝,地址不变

列表乘法 a=a*3

[展开全文]
1553_N_GX · 2021-05-17 · 解锁式学习 0

pandas时间序列

现在我们有2015201725万条911的紧急电话的数据,请统计出出这些数据中不同类型的紧急情况的次数,如果我们还想统计出不同月份不同类型紧急电话的次数的变化情况,应该怎么做呢?

 

为什么要学习pandas的时间序列

不管在什么行业,时间序列都是一种非常重要的数据形式,很多统计数据以及数据的规律也都和时间序列有着非常重要的联系

 

时间格式化

python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

[展开全文]