编译:yxy
出品:ATYUN订阅号
你是否曾在在搜索语法时,因为打断了数据分析流而感到沮丧?为什么你在屡次查找后仍然不记得它?这是因为你还没有足够的练习来为它建立“肌肉记忆”。
现在,你可以想象一下,当你编写代码时,Python语法和函数会根据你的分析思路从指尖飞出。那画面是不是特别棒?这篇文章会帮助你实现这个目标。
我建议每天早上练习这个脚本10分钟,并重复一个星期。这和每天做一点点的仰卧起坐一样,只不过不是为了锻炼你的腹肌,而是为了锻炼你数据科学的“肌肉”。逐渐地,你会注意到重复训练后数据分析编程效率会有所提高。
在本文中,我们将练习最常用的数据预处理语法作为预热。
内容目录:
读取,查看和保存数据
表的维度和数据类型
基础的列操作
空值:查看,删除和替换(impute)
数据的去重
0.读取,查看和保存数据
首先,我们练习加载库:
现在我们将从我的GitHub存储库中读取数据。我从Zillow下载数据。
Zillow:https://www.zillow.com/research/data/#other-metrics
结果如下:
保存文件是dataframe.to_csv()。如果您不想保存索引号码,请使用dataframe.to_csv(index = False)。
1.表的维度和数据类型
1.1维度
这个数据中有多少行和列?
1.2数据类型
数据的数据类型是什么,有多少列是数值类型?
输出前几列的数据类型:
如果想更加具体地了解数据,请使用select_dtypes()来列入或排除数据类型。问:如果我只想看2018的数据,该怎么做?
2.基础的列操作2.1按列划分数据子集
按数据类型选择列:
例如,如果你只想要float和integer列:
按名称选择和排除列:
2.2重命名列
如果我不喜欢列名,如何重命名?例如,将“State”更改为“state_”; ‘City’改为’city_’:
3.空值:查看,删除和替换3.1有多少行和列有空值?
isnull.any()与isnull.sum()的输出:
isnull.any()
isnull.sum()
选择在一列中不为空的数据,例如,“Metro”不为空。
Metro值为N/A的行
3.2为固定的一组列选择非空行
选择2000之后没有null的数据子集:
如果要在7月份选择数据,需要找到包含“-07”的列。要查看字符串是否包含子字符串,可以在string中使用substring,它将输出true或false。
3.3 用空值对划分子集
选择我们希望拥有至少50个非NA值的行,但不限列:
3.4删除和替换缺失值
填充或替换(impute)NA:
使用where函数按自己的条件填充:
4.数据的去重
在汇总或连接数据之前,我们需要确保没有重复的行。
我们想看看是否有任何重复的城市或地区。我们需要确定在分析中使用的唯一ID(city和region)。
如果设定keep = False:
删除重复的值。
‘CountyName’和’SizeRank’组合已经是唯一的了。所以我们只使用列来演示drop_duplicated的语法。
github:https://gist.github.com/zhendata/5d73068e5b31b616938af51bedf65382
领取专属 10元无门槛券
私享最新 技术干货