Re库
1、 学习链接:https://zhuanlan.zhihu.com/p/135862699
folium库
1、
学习链接A:https://blog.youkuaiyun.com/weixin_43903639/article/details/113873381
学习链接B: https://blog.youkuaiyun.com/ouening/article/details/78882094
2、 首先folium是一个地理信息可视化库,
3、 一般步骤是:第一使用*m=folium.Map()初始化地图的四个参数,第二使用folium的相关功能如folium.plugins.HeatMap()*制作热力地图功能把初始化号的数据对象生成并且添加到第一步初始化好的地图对象如 *folium.plugins.HeatMap(Loc_hot).add_to(m) *
第三以name.html的格式保存加工后的地图即m如m.save(‘f1.html’)第四手动点开结果或者利用import webbrowser运行代码时直接生成
绘制箱线图
该图结构如下,可设置横放
详细学习请点击此处链接:
https://www.sohu.com/a/220236877_434937
https://blog.youkuaiyun.com/yeziand01/article/details/85168723
注意显示方法有多种:
'''方法 一 '''
df['Minimum_years_experience'].plot.box()
结果一:
'''方法 二 '''
df.boxplot(column='Minimum_years_experience')
结果二:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sJJUQNv5-1615642461952)(C:\Users\zwy\AppData\Roaming\Typora\typora-user-images\image-20210303205002548.png)]
pandas 之apply(函数)
1、 特点:给列表的每个元素对象调用括号里面的函数
2 、函数可以调用前面写好的函数,也可以直接在括号里面自定义函数即使用 apply(lambda x: [0] if len(x) is 0 else x)
在DataFrame文件中筛选包含特定字符串的行
# TODO
# 从Title中查找包含'Analyst'关键字的职位,存储到df_Analyst中。
df_Analyst = df[df['Title'].str.contains('Analyst')]
df_Analyst.head()
上面代码结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pVj25FWW-1615642461953)(C:\Users\zwy\AppData\Roaming\Typora\typora-user-images\image-20210303153408892.png)]
将最后一个逗号后面的值提取出来,作为该列的值
1、 工具*string.split(’,’)*理解:
2、
# 在df_Analyst中生成一个新列'Country',从Location中,将最后一个逗号后面的值提取出来,作为该列的值。
# # 生成新列df_Analyst['Country'],其中内容为df_Analyst['Location']中截取最后一个逗号之后的内容
# 方法二: df_Analyst['Country'] = df_Analyst['Location'].str.split(',').apply(lambda x: x[-1])
df_Analyst['Country'] = df_Analyst['Location'].apply(lambda x: x.split(',')[-1])
排序例子(字典类型)
1、 对lang_dict.items()按照value所对应项进行排序并生成到新的列表变量lang_sorted中
lang_sorted = sorted(lang_dict.items(),key=lambda x:x[1],reverse=True)
设置pd.DataFrame的索引
# 根据计算出的lang_sorted生成新的DataFrame
df_lang_sorted = pd.DataFrame(lang_sorted, columns = ['Language', 'Pop'])
# TODO
# 将Language设置为df_lang_sorted的index以便绘图时作为横坐标标签
df_lang_sorted.set_index(['Language'],inplace=True)
统计整个文件df的空值
pd.isnull(df).sum()
'''
结果如下
Company 0
Title 0
Category 0
Location 0
Responsibilities 15
Minimum Qualifications 14
Preferred Qualifications 14
'''
简单统计 value
df_Analyst['Country'].value_counts()
'''
结果
United States 41
Switzerland 6
Ireland 5
United Kingdom 4
Singapore 2
Japan 1
Israel 1
China 1
Germany 1
India 1
France 1
'''
按一定规则提取字符串数字
每行元素为对应行的Minimum Qualifications这列中xxx year 字样前面的xxx。
# df['Minimum_years_experience']每个元素的类型为列表
#使用方法:re.findall('规则',string),或者是pattern.findall(string)
def get_nnum(s):
p=re.compile(r'(\d+) year')
result = p.findall(str(s))
return result
df['Minimum_years_experience'] = df['Minimum Qualifications'].apply(get_nnum)
df['Minimum_years_experience'].head()
'''
结果:
0 [3]
1 [7]
2 [2, 1, 1]
3 []
4 [4]
'''
空列表元素的填充/ lambda函数的简单使用
# 将df['Minimum_years_experience']中的[]转换成[0],(提示:可以使用apply)
# [] 的长度为 0,
df['Minimum_years_experience'] = df['Minimum_years_experience'].apply(lambda x: [0] if len(x) is 0 else x)
experience’]中的[]转换成[0],(提示:可以使用apply)
[] 的长度为 0,
df['Minimum_years_experience'] = df['Minimum_years_experience'].apply(lambda x: [0] if len(x) is 0 else x)