记录一下我做Udacity 的Data Scientist Nano Degree Project
做项目的时候看了别人的blog,决定自己也随手记录下在做项目中遇到的好的小知识点。
最近在做Udacity的Data Scientist Nano Degree Project的Customer_Segements 项目,随手记录下感觉一些挺好用的自己没注意到小细节
- 从文本中读取指定的行:
def loadDataSet(fileName, splitChar='\t'):
"""
输入:文件名
输出:数据集
描述:从文件读入数据集
"""
dataSet = []
with open(fileName) as fr:
for line in fr.readlines()[6:]:
curline = line.strip().split(splitChar)#字符串方法strip():返回去除两侧(不包括)内部空格的字符串;字符串方法spilt:按照制定的字符将字符串分割成序列
fltline = list(map(float, curline))#list函数将其他类型的序列转换成字符串;map函数将序列curline中的每个元素都转为浮点型
dataSet.append(fltline)
return dataSet
- python的方法统计列表中不同元素的数量
list_len = len(set('list')) #用set的方法
- 统计DataFrame中每行的缺失值:
missing_value_in_row = df.shape[1] - df.counts(axis = 1)
missing_value_in_col = df.shape[o] - df.counts(axis = 0)
- 通过布尔索引获取DataFrame的相应索引并转化为list(便于用来遍历):
names = list(df[df['counts'] <= 73500].index)
- 几种遍历DataFrame的方法:
iterrows:
for name, row in df.iterrows():
print("Row{} of df is{}".format(name, row))
iteritems:
for name, col in df.iteritems():
print("col{} of df is {}".format(name, col))
itertuple:
同时回顾一下类似的enumerate()可用来遍历list:
my_list = ['apple', 'banana', 'grapes', 'pear']
for c, value in enumerate(my_list, 1):
print(c, value) # Output:
# 1 apple
# 2 banana
# 3 grapes
# 4 pear
- pandas 在数据清洗时候常用的两个函数:
对于字符串类型的筛选常用的是 pd.str.contains()这个是类似于SQL中的LIKE操作
对于一般的布尔索引常用的是 pd.isin()
- pandas中的数据类型转化:
Series -> array
df[name].values
Series -> list
df[name].to_list()
Series-> str
df[name].astpye(str)
- pandas 在数据编码或者转换的时候,建立创建字典,便于使用map来进行映射转换。
- 注意复习正则表达式,清洗数据很有用!
-关于Feature Transformation:
OneHotEncoder() 接受的输入是 2-D array 维度不符合的可以通过 .reshape(-1, 1)转换
LaBelBinarizer() 接受的输入是1-D array
同时值得注意的是df.column返回的是1-D,而df['column']返回的事2-D (以前一直没注意)
- pandas中处理缺失值的神器:
imputer() 只能接受2-D输入,返回的是array(这是sklearn的)
pd.fillna()
- 对于Kmeans模型返回的score的解释
score是kmeans聚类后每个类内的距离之和,我们可以把这个score画出来用elbow method来寻找最佳k值
记录一下我做Udacity 的Data Scientist Nano Degree Project的更多相关文章
- 现在很火的数据科学到底是什么?你对做DATA SCIENTIST感兴趣吗?
转自– Warald (Email: iamxiaoning@gmail.com) 博客: http://www.1point3acres.com,微博:http://www.weibo.com/wa ...
- WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)
WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作) 好吧,还是那个社区APP,非管理系统,用户行为日志感觉不是很必要的,但是,错误日 ...
- 数据分析师(Data Analyst),数据工程师(Data Engineer),数据科学家(Data Scientist)的区别
数据分析师(Data Analyst):负责从数据中提取出有用的信息,以帮助公司形成业务决策.工作内容包括:对数据进行提取,清洗,分析(用描述统计量,趋势分析,多维度分析,假设检验等统计常用方法对数据 ...
- 数据科学工作者(Data Scientist) 的日常工作内容包括什么
数据科学工作者(Data Scientist) 的日常工作内容包括什么 众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容 ...
- Becoming a Data Scientist – Curriculum via Metromap
From: http://nirvacana.com/thoughts/becoming-a-data-scientist/ Data Science, Machine Learning, Big D ...
- What do data scientist do?
What do data scientist do? 1. Define the question 2.Define the ideal data set 3.Determine what data ...
- .NET WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)
好吧,还是那个社区APP,非管理系统,用户行为日志感觉不是很必要的,但是,错误日志咱还是得记录则个.总不能上线后报bug了让自己手足无措吧,虽然不管有木有错误日志报bug都是件很头疼的事... 我们知 ...
- 微软职位内部推荐-Senior Data Scientist
微软近期Open的职位: Extracting accurate, insightful and actionable information from data is part art and pa ...
- 微软职位内部推荐-Data Scientist
微软近期Open的职位: Job Description:Extracting accurate, insightful and actionable information from data is ...
随机推荐
- python多线程爬取图片实例
今天试着把前面那个爬取图片的爬虫改成了多线程爬取,虽然最后可以爬取存储图片了,但仍存在一些问题.网址还是那个网址https://www.quanjing.com/category/1286521/1. ...
- 不懂数据库索引的底层原理?那是因为你心里没点b树
本文在个人技术博客不同步发布,详情可用力戳 亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩... 前几天下班回到家后正在处理一个白天没解决的bug,厕所突然传来对象的声音: ...
- shell 循环打印某一天后的n天的日期
#!/bin/bash start_date="2017-10-26" for i in `seq 0 30` do num=$((${i}+1)) datatime=`date ...
- leadcode的Hot100系列--104. 二叉树的最大深度
依然使用递归思想. 思路: 1.树的深度 = max (左子树深度,右子树深度)+ 1 . ------> 这里的加1是表示自己节点深度为1. 2.如果当前节点为null,则说明它的左右子树深度 ...
- 借助URLOS快速安装WordPress
### 简介 WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统.WordPress具有插件架构和模板系统.截至2018年4月,排名前1000万的网站超过30.6%使 ...
- CentOS 操作防火墙
1:查看防火状态 systemctl status firewalld 2:暂时关闭防火墙 systemctl stop firewalld 3:永久关闭防火墙 systemctl disable f ...
- Python旅途——函数的递归和栈的使用
Python--函数之递归.栈的使用 今天主要和大家分享函数的递归,同时引入一个新的概念--栈 1.递归 1.定义 函数的递归指的就是函数自己调用自己,什么是函数自己调用自己呢?我们来看一个栗子: 这 ...
- curl推送示例:熊掌号,百度站长的链接推送(系统环境变量配置)
curl推送示例:熊掌号,百度站长的链接推送(需要用户系统环境变量配置)这篇文章主要讲解curl推送,熊掌号,百度站长的链接推送,我们很多seo朋友都搞不定curl的推送链接,而且还要配置系统的环境变 ...
- SpringBoot项目构建成jar运行后,如何正确读取resource下的文件
SpringBoot项目构建成jar运行后,如何正确读取resource下的文件 不管你使用的是SpringBoot 1.x还是SpringBoot2.x,在开Dev环境中使用eclipse.IEAD ...
- 深入理解Java虚拟机一 阅读笔记
xl_echo编辑整理.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! --- > 以下内容摘抄自 ...