【深耕 Python】Data Science with Python 数据科学(11)pandas 数据处理(二)

2024-04-25 06:12

本文主要是介绍【深耕 Python】Data Science with Python 数据科学(11)pandas 数据处理(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面

关于数据科学环境的建立,可以参考我的博客:

【深耕 Python】Data Science with Python 数据科学(1)环境搭建

往期数据科学博文:

【深耕 Python】Data Science with Python 数据科学(2)jupyter-lab和numpy数组

【深耕 Python】Data Science with Python 数据科学(3)Numpy 常量、函数和线性空间

【深耕 Python】Data Science with Python 数据科学(4)(书337页)练习题及解答

【深耕 Python】Data Science with Python 数据科学(5)Matplotlib可视化(1)

【深耕 Python】Data Science with Python 数据科学(6)Matplotlib可视化(2)

【深耕 Python】Data Science with Python 数据科学(7)书352页练习题

【深耕 Python】Data Science with Python 数据科学(8)pandas数据结构:Series和DataFrame

【深耕 Python】Data Science with Python 数据科学(9)书361页练习题

【深耕 Python】Data Science with Python 数据科学(10)pandas 数据处理(一)

代码说明: 由于实机运行的原因,可能省略了某些导入(import)语句。

本期,继续对诺奖获得者(laureates.csv)进行分析。

Python Code Snippet 1

1957年,Chen Ning Yang和Tsung-Dao Lee的获奖信息。

print(nobel.loc[nobel["surname"].str.contains("Yang", na=False)])
print(nobel.loc[nobel["surname"].str.contains("Lee", na=False)])
# 杨振宁id  firstname surname        born        died bornCountry bornCountryCode  \
68  68  Chen Ning    Yang  1922-09-22  0000-00-00       China              CN   bornCity diedCountry diedCountryCode diedCity gender  year category  \
68  Hofei Anhwei         NaN             NaN      NaN   male  1957  physics   overallMotivation  share  \
68               NaN      2   motivation  \
68  "for their penetrating investigation of the so...   name          city country  
68  Institute for Advanced Study  Princeton NJ     USA  
# 李政道id  firstname surname        born        died bornCountry  \
69    69  Tsung-Dao     Lee  1926-11-24  0000-00-00       China   
148  149   David M.     Lee  1931-01-20  0000-00-00         USA   
263  265    Yuan T.     Lee  1936-11-19  0000-00-00      Taiwan   bornCountryCode  bornCity diedCountry diedCountryCode diedCity gender  \
69               CN  Shanghai         NaN             NaN      NaN   male   
148              US    Rye NY         NaN             NaN      NaN   male   
263              TW   Hsinchu         NaN             NaN      NaN   male   year   category overallMotivation  share  \
69   1957    physics               NaN      2   
148  1996    physics               NaN      3   
263  1986  chemistry               NaN      3   motivation  \
69   "for their penetrating investigation of the so...   
148  "for their discovery of superfluidity in heliu...   
263  "for their contributions concerning the dynami...   name         city country  
69        Columbia University  New York NY     USA  
148        Cornell University    Ithaca NY     USA  
263  University of California  Berkeley CA     USA  

Python Code Snippet 2

理查德·费曼(Richard Feynman)和居里夫妇(Marie Curie, Pierre Curie)的获奖信息:

print(nobel.loc[nobel["surname"].str.contains("Feynman", na=False)])
print(len(nobel.loc[nobel["surname"].str.contains("Feynman", na=False)]))
curies = nobel.loc[nobel["surname"].str.contains("Curie", na=False)]
print(curies)
print(curies[["firstname", "surname"]])
# 理查德费曼获奖信息id   firstname  surname        born        died bornCountry  \
86  86  Richard P.  Feynman  1918-05-11  1988-02-15         USA   bornCountryCode     bornCity diedCountry diedCountryCode        diedCity  \
86              US  New York NY         USA              US  Los Angeles CA   gender  year category overallMotivation  share  \
86   male  1965  physics               NaN      3   motivation  \
86  "for their fundamental work in quantum electro...   name         city country  
86  California Institute of Technology (Caltech)  Pasadena CA     USA# 仅有1个姓氏为费曼的获奖者
1# 居里夫妇id firstname       surname        born        died  \
4      5    Pierre         Curie  1859-05-15  1906-04-19   
5      6     Marie         Curie  1867-11-07  1934-07-04   
6      6     Marie         Curie  1867-11-07  1934-07-04   
191  194     Irène  Joliot-Curie  1897-09-12  1956-03-17   bornCountry bornCountryCode bornCity diedCountry  \
4                         France              FR    Paris      France   
5    Russian Empire (now Poland)              PL   Warsaw      France   
6    Russian Empire (now Poland)              PL   Warsaw      France   
191                       France              FR    Paris      France   diedCountryCode    diedCity  gender  year   category overallMotivation  \
4                FR       Paris    male  1903    physics               NaN   
5                FR  Sallanches  female  1903    physics               NaN   
6                FR  Sallanches  female  1911  chemistry               NaN   
191              FR       Paris  female  1935  chemistry               NaN   share                                         motivation  \
4        4  "in recognition of the extraordinary services ...   
5        4  "in recognition of the extraordinary services ...   
6        1  "in recognition of her services to the advance...   
191      2  "in recognition of their synthesis of new radi...   name   city country  
4    École municipale de physique et de chimie indu...  Paris  France  
5                                                  NaN    NaN     NaN  
6                                  Sorbonne University  Paris  France  
191                                 Institut du Radium  Paris  France# 仅显示姓氏和名字firstname       surname
4      Pierre         Curie
5       Marie         Curie
6       Marie         Curie
191     Irène  Joliot-Curie

Python Code Snippet 3

学者的获奖次数统计。

print(nobel.groupby(["firstname", "surname"]).size())
print(nobel.groupby(["firstname", "surname"]).size().sort_values())
laureates = nobel.groupby(["id", "firstname", "surname"])
sizes = laureates.size()
print(sizes[sizes > 1])
# 第三栏中的数字为此人的获奖次数
firstname   surname    
A. Michael  Spence         1
Aage N.     Bohr           1
Aaron       Ciechanover    1Klug           1
Abdulrazak  Gurnah         1..
Youyou      Tu             1
Yuan T.     Lee            1
Yves        Chauvin        1
Zhores      Alferov        1
Élie        Ducommun       1
Length: 941, dtype: int64  # 共941位获奖者,数据类型为int64# 将获奖次数升序排序后输出
firstname     surname 
A. Michael    Spence      1
Nicolay G.    Basov       1
Niels         Bohr        1
Niels K.      Jerne       1
Niels Ryberg  Finsen      1..
Élie          Ducommun    1
Linus         Pauling     2
John          Bardeen     2
Frederick     Sanger      2
Marie         Curie       2
Length: 941, dtype: int64# 仅输出获奖次数大于1的学者(该数据截止至2021年,2022年新产生了一位双料得主K. Barry Sharpless)
id   firstname  surname
6    Marie      Curie      2  # 物理学奖和化学奖
66   John       Bardeen    2  # 物理学奖*2
217  Linus      Pauling    2  # 化学奖和和平奖
222  Frederick  Sanger     2  # 化学奖*2
dtype: int64

参考文献 Reference

《Learn Enough Python to be Dangerous——Software Development, Flask Web Apps, and Beginning Data Science with Python》, Michael Hartl, Boston, Pearson, 2023.

这篇关于【深耕 Python】Data Science with Python 数据科学(11)pandas 数据处理(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933884

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

Pandas利用主表更新子表指定列小技巧

《Pandas利用主表更新子表指定列小技巧》本文主要介绍了Pandas利用主表更新子表指定列小技巧,通过创建主表和子表的DataFrame对象,并使用映射字典进行数据关联和更新,实现了从主表到子表的同... 目录一、前言二、基本案例1. 创建主表数据2. 创建映射字典3. 创建子表数据4. 更新子表的 zb

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获