三个包:Numpy、Pandas和matplotlib;工具:jupyter notebook。首先确保导入这两个包
Pandas有三种数据结构:Series、DataFrame和Panelpython自学好学嘛。Series类似于一维数组;DataFrame是类似表格的二维数组;Panel可以视为Excel的多表单Sheet。
1.read_table
可以用于读取csv、excel、dat文件。
2.merge
连接两个DataFrame并返回连接之后的DataFrame。
3.iloc
iloc函数:通过行号来取行数据(如取第二行的数据)
4.pivot_table
通过使用pandas.pivot_table()函数,可以实现与电子表格软件(例如Excel)的数据透视表功能相同的处理
5.groupby
和sql中的分组类似,pandas中的groupby函数也是先将df按照某个字段进行拆分,将相同属性分为一组;然后对拆分后的各组执行相应的转换操作;最后输出汇总转换后的各组结果。WPS office电脑版下载的地方怎么找
数据分析步骤:1.提出问题 2.理解数据 3.数据清洗 4.构建模型 5.数据可视化
3.1 MoviesLens 1M数据集
GroupLens实验室提供了一些从MoviesLens用户那里收集的20世纪90年代末到21世纪初的电影评分数据的集合。浙西额数据提供了电影的评分、流派、年份和观众数据(年龄、邮编、性别、职业)。 MovisLens1M数据集包含6000个用户对4000部电影的100万个评分。数据分布在三个表格之中:分别包含评分、用户信息和电影信息。
下载地址为:http://files.grouplens.org/datasets/movielens/,有好几种版本,对应不同数据量。
首先读取users.dat、rating.dat、movies.dat三个文件,并将他们存储在不同的DataFrame中,分别命名为users、ratings、movies。
分别输出三个DataFrame的前五行,并输出ratings的全部数据。
使用merge函数将ratings,users和movies进行合并,保留了三个DataFrame中所有的数据,并将他们之间重复的数据和行进行合并wps的官网最新的下载的地址。合并生成名为data的新DataFrame,并输出整个数据以及读取第一行数据。
WPS office官网最新的下载入口怎么找
使用pivot_table函数实现数据透视表功能&wps官网最新下载入口在哪#xff0c;对rating中title列求均值,columns参数就是用来显示字符型数据的,显示性别数据。求均值生成名为mean_ratings的新DataFrame,并读取输出前五行数据。
使用groupby函数对data这一DataFrame按照电影名称title分组,并计算每个电影标题对应的评分数量。第二行代码显示每个电影标题对应的评分数量。第三四行代码统计对应评分数量大于250的电影标题将其定义为active_titles并输出。
读取mean_ratings中评分数量大于250的电影标题对应的数据并输出。
wps office免费版下载地址怎么找
使用rename函数将mean_ratings中Seven Samurai (The Magnificent Seven) (Shichinin no samurai) (1954)重新更改为Seven Samurai (Shichinin no samurai) (1954)。
根据女性的评分使用排序函数对mean_ratings进行降序排序并输出。
WPS office的电脑版的下载地址
用mean_ratings中男性评分减去女性评分计算出男女评分差异diff。
根据diff列的值使用排序函数对mean_ratings进行升序排序并输出。
使用切片操作对diff进行逆序排序,并输出。
std函数用于表示标准差。对电影标题title根据评分标准差分组。并读取活跃标题(评分数量大于250的电影标题)的标准差输出。
根据评分标准差进行降序排序并读取前十行,也即输出评分标准差最大的十个电影标题。
读取电影中genres列数据,并通过|分隔开。将分割后的数据命名为genre列,原数据列genres删除。
使用explode函数将genre列中分割的数据展开成单独的几列数据并记为movies_exploded这个新DataFrame,输出前十行数据。
将movies_exploded,ratings,users这三个合并起来生成一个新DataFrame,并读取第一行数据。按照genre和age进行分组,并计算每个组评分的平均值,使用unstack函数将结果重塑为以age为列索引的形式。
3.2 美国1880-2010年的婴儿名字
美国社会保障局(SSA)提供了从1880年至现在的婴儿姓名频率的数据。可以使用这些数据做很多事情:根据给定的名字对婴儿名字随时间的比例进行可视化,确定一个名字的相对排位,确定每年最受欢迎的名字,或者流行程度最高或最低的名字
数据集下载地址:GitHub – wesm/pydata-book: Materials and IPython notebooks for "Python for Data Analysis" by Wes McKinney, published by O'Reilly Media
读取名为“yob1880.txt”文件,并将其列名设为name,sex,births。
按照性别分组,并计算每组生日的总和。
提取从数据集中读取1880-2011年间的数据并生成names这个DataFrame。
使用pivot_table函数以births和sex分组的出生数总和,并显示最后几行。
绘制一个标题为Total births by sex and year的折线图。
定义一个增加组的函数add_prop,表示每个名字在出生年份和性别组中的比例,每个名字的出生率。
对names按照年份和性别分组,并对每组应用add_prop函数。
通过年份和性别分组,并计算对每组中的每个名字比例的总和。
定义一个get_top1000的函数,该函数根据births进行降序排序,并取前1000行,也即births值最大的前1000。根据年份和性别分组,并对每个分组应用get_top1000函数。
使用reset_index()函数对top1000 DataFrame 进行重置索引,并丢弃原始索引。设置drop=True可以移除原始索引列,以便在重置索引后不保留它。
根据性别将top1000的值分为boys和girls两个数据集。并对births进行数据透视。
使用info()方法打印出total_births的全部数据,并选择John、Harry、Mary、Marilyn四个名字绘制标题为Number of births per year的折线图。
对prop进行数据透视图,绘制标题为Sum of table1000.prop by year and sex的折线图。
得到2010年男孩出生人数表
对2010年男孩出生人数表中prop值进行降序排序并计算累计和,并提取前10行,使用 searchsorted() 方法找到累计和达到 0.5 时的索引位置。
得到1900年男孩出生人数表, 对表中prop值进行降序排序并计算累计和, searchsorted() 方法找到累计和达到 0.5 时的后一个索引位置。
wps电脑版的下载地址
定义一个get_quantile_count函数,对prop值进行降序排序并计算累计和, searchsorted() 方法找到累计和达到 0.5 时的后一个索引位置。
根据年份和性别分组,并对每组应用get_quantile_count函数,得到diversity这个新DataFrame,并绘制标题为Number of popular names in top 50%的折线图。
定义一个返回字符串最后一个字母的函数。
使用map函数对names中每一个名字提取最后一个字母。进行数据透视。
展示1910,1960,2010年的数据。
展示每个年份和性别组合中每个名字的总和,以及占比
导入matplotlib包分别以男生和女生绘制两幅柱状图。
统计最后男生中名字最后一个字母为d、n、y的比例。
并绘制折线图。
从top1000 DataFrame的"name"列获取唯一的姓名,并将结果存储在all_names变量中。选择all_names中包含"Lesl"的姓名,并将结果赋值给lesley_like变量。显示lesley_like Series,即包含以"Lesl"开头的姓名。
根据top1000 DataFrame中的"name"列与lesley_like中的姓名进行匹配,筛选出匹配的行数据,并将结果赋值给filtered变量。 对filtered DataFrame按姓名进行分组,计算每个姓名的出生人数总和,并显示结果。
wps的官网最新下载的入口是多少
根据年份和性别对filtered进行透视,计算每个年份和性别的出生人数总和,并将结果存储在table变量中。对table进行归一化,即每行的总和作为除数,计算每个年份和性别的归一化比例。table归一化后最后几行的结果。
绘制折线图,其中男生用实线,女生用虚线。
3.3 美国农业部食品数据库
美国农业部提供了食物营养信息数据库。每种事务都有一些识别属性以及两份营养元素和营养比例的列表。这种形式的数据不适合分析,所以需要做一些工作将数据转换成更好的形式。
下载地址:DRI Calculator for Healthcare Professionals | National Agricultural Library
计算列表中元素的个数
获得db列表中索引为0的所有关键值。 从db列表中索引为0的元素中获取键为"nutrients"的值的列表,并返回列表中的第一个元素。将db列表中索引为0的元素中的"nutrients"值转换为Pandas DataFrame对象。 显示nutrients DataFrame的前7行数据。
包含要从数据库中提取的信息的键的列表。使用info_keys作为列名,创建包含db数据的Pandas DataFrame对象,并将其存储在info变量中。 显示info DataFrame的前几行数据。显示info DataFrame的基本信息。
从DataFrame info 中选择了名为 "group" 的列,该列包含了食物的分组信息。对选定列中的每个唯一值进行计数,并返回计数结果。取计数结果中的前 10 个值,即返回出现次数最多的前 10 wps的官网最新下载的地址是多少 个分组。
wps电脑版的下载的入口在哪
创建一个空列表。定义一个函数为每个记录创建一个包含营养信息的DataFrame对象,添加一个名为"id"的列,将记录的id值赋给该列的每个元素,并将每个记录的营养信息DataFrame添加到nutrients列表中, 将nutrients列表中的DataFrame对象合并为一个大的DataFrame,并重新索引行号。
计算duplicates的总值,并将其赋值给nutrients。
定义一个字典,里面有两个键值对。将其重命名为info,并输出。定义另一个字典,将其重命名为nutrients并输出。
合并nutrients和info,并读取第30000行数据
以nutrient和fgroup分组,并排序绘制柱状图。
根据nutgroup和nutrient分组,并定义一个求最大值得函数,对value和food求最大值,对最大food读取前50行,读取Amino Acids行数据。