Pandas 数据分析第 六 集
Python与算法社区
共 1924字,需浏览 4分钟
· 2020-12-13
三步加星标
你好,我是 zhenguo
Pandas 使用技巧最近连载 5 篇,是时候分析一下它的基本框架。Pandas 使用行索引和列标签表达和分析数据,分别对应 axis=0, axis=1,行索引、列标签带来一些便捷的功能。
如果玩Pandas,还没有注意到对齐 alignment,这个特性,那该好好看看接下来的分析。
基于行索引的对齐,与基于列标签的对齐,原理是一致的,它们其实相当于字典的 key,起到对齐数据作用。但是,这种说法抽象了些,没有例子不好想象出对齐的作用。
下面使用前几天推荐你的 9 个小而经典的数据集,里的 google app store 这个小而经典的数据集,重点分析“行对齐”功能,理解它后,列对齐也自然理解。
导入包:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
版本号:
print(pd.__version__)
print(np.__version__)
print(sns.__version__)
1.0.1
1.18.1
0.11.0
导入数据:
df = pd.read_csv('kaggle-data/googleplaystore.csv')
df.head(3)
rank = df_normal.Rating.rank(method='min',na_option='bottom',ascending=False)
rank.head(3)
method 参数指定:Rating 值相等时排名取小,na_option 指定空值排到最后,ascending 指定倒序
将上面得到的新列 rank 插入 df_normal 中:
df_normal.insert(2,'rank', rank, allow_duplicates=True)
df_normal.head(3)
因为 df_normal 和 rank 的行索引 index 都是从0 开始的自增,所以即便没有自动对齐,也是准确的:
### 根据 Reviews 次数从少到多排序
df_by_reviews = df_normal.sort_values(by='Reviews')
df_by_reviews.head(3)
得到 df_by_reviews ,注意它的 index 不是按照从0自增
此时在 df_by_reviews 中,插入 rank 还能确保数据对齐吗
### 此时插入排名 rank 列,数据会自动对其
df_by_reviews.insert(3,'rank_copy',rank)
df_by_reviews.head()
看到 rank 列 和 rank_copy 列相等,通过下面一行代码验证出来:
### 如果后者index序列中某些值没有出现在df_by_reviews的index中
### 举个例子
df_test = pd.DataFrame({'a':[1,4,7],'b':[5,2,1]},index=[4,3,1])
ser = pd.Series(index=[3,2,1],data=[0,9,8])
评论
【第129期】程序员的新宠:三款终端工具,让你告别Xshell!
概述 WindTerm:跨平台的SSH利器 首先介绍的是WindTerm,这是一款使用C语言开发的跨平台SSH客户端。它不仅完全免费,而且没有商业使用的限制。WindTerm支持SSH v2、Telnet、Raw Tcp等协议,而且性能出色,甚至超过了FinalShell和Electerm。功能
前端微服务
0
【第128期】提升编程效率VSCode变量命名插件推荐
概述 在编程的世界里,一个好的变量名不仅能够提升代码的可读性,还能反映出程序员的专业水平。Visual Studio Code(VSCode)作为一个广受欢迎的代码编辑器,拥有丰富的插件生态系统,其中不乏能够帮助我们高效命名变量的工具。今天,我们就来介绍几款VSCode上能够提升变量命名效率的插件
前端微服务
0
【第127期】推荐常用的国内外AI大模型
概述 多个国内外的AI大模型及其特点。以下是一些被提及的AI大模型和平台:全球大模型:ChatGPT:由OpenAI开发,支持多种语言,包括中文。Claude:由Anthropic开发,擅长深层次语言模式和复杂推理。Gemini:由Google Research开发,擅长自然语言理解和生成。Mis
前端微服务
0
【第126期】效地利用AI辅助编程并提高编程效率
概述 AI可以在编程的多个环节中提供帮助,从而显著提高编程效率。同时,也要注意AI工具的选择和使用,确保它们能够真正提升你的工作效率,而不是成为额外的负担。通过这些工具通过不同的方式辅助编程,包括代码生成、错误检测与修复、代码审查、自动化测试、性能优化等,旨在提高编程效率和代码质量。开发者可以根据
前端微服务
0
小美播报|3月IPTV数据排行榜发布!
小美播报3月IPTV数据排行榜:《与凤行》登顶连续剧榜榜首拥有4.05亿家庭用户的中国IPTV平台已经成为国内主流视听平台,IPTV平台数据对视听产业各环节都具有重要意义。截至2024年4月,全国已有29个省级IPTV加入“看中国”,覆盖全国超2.25亿户家庭、辐射近7亿人。点击查看详情湖南广电与马
流媒体网
0
【第125期】一文读懂开源软件协议
概述 开源软件协议是规范开源软件分发和使用条件的法律文档。它们允许软件的源代码对公众开放,但同时也保护了原作者的权益。以下是一些最常用的开源协议,以及它们的主要特点。 MIT License MIT 许可证是最宽松的开源协议之一。它允许用户自由使用、复制、修改和分发软件,只要保留原作者的版权声明和
前端微服务
0
豆瓣9.7,这部Java神作第3版重磅上市!
Java 程序员们开年就有重磅好消息,《Effective Java 中文版(原书第 3 版)》要上市啦!该书的第1版出版于 2001 年,当时就在业界流传开来,受到广泛赞誉。时至今日,已热销近20年,本书第 3 版已是 Java 程序员的必读神书,被誉为“Java 四大名著之一”,甚至连 Java
菜鸟学Python
0
python读取一个文件里面几百个csv数据集然后按照列名合并一个数据集
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤但使龙城飞将在,不教胡马度阴山。大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【FiNε_】问了一个Python自动化办公,问题如下:python 读取一个文
Python爬虫与数据挖掘
3