当前位置:首页 > 科技  > 知识百科

十个 Python 小技巧,覆盖了90%的数据分析需求!

来源: 责编: 时间:2023-08-07 16:30:00 297观看
导读 数据分析师日常工作会涉及各种任务,比如数据预处理、数据分析、机器学习模型创建、模型部署。在本文中,我将分享10个 Python 操作,它们可覆盖90%的数据分析问题。有所收获点赞

数据分析师日常工作会涉及各种任务,比如数据预处理、数据分析、机器学习模型创建、模型部署。dlw28资讯网——每日最新资讯28at.com

在本文中,我将分享10个 Python 操作,它们可覆盖90%的数据分析问题。有所收获点赞、收藏、关注。dlw28资讯网——每日最新资讯28at.com

1、阅读数据集dlw28资讯网——每日最新资讯28at.com

阅读数据是数据分析的组成部分,了解如何从不同的文件格式读取数据是数据分析师的第一步。下面是如何使用 pandas 读取包含 Covid-19 数据的 csv 文件的示例。dlw28资讯网——每日最新资讯28at.com

import pandas as pd dlw28资讯网——每日最新资讯28at.com
# reading the countries_data file along with the location within read_csv function.dlw28资讯网——每日最新资讯28at.com
countries_df = pd.read_csv('C:/Users/anmol/Desktop/Courses/Python for Data Science/Code/countries_data.csv') dlw28资讯网——每日最新资讯28at.com
# showing the first 5 rows of the dataframe dlw28资讯网——每日最新资讯28at.com
countries_df.head()dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com

以下是 countries_df.head() 的输出,我们可以使用它查看数据框的前 5 行:dlw28资讯网——每日最新资讯28at.com

dlw28资讯网——每日最新资讯28at.com

2、汇总统计dlw28资讯网——每日最新资讯28at.com

下一步就是通过查看数据汇总来了解数据,例如 NewConfirmed、TotalConfirmed 等数字列的计数、均值、标准偏差、分位数以及国家代码等分类列的频率、最高出现值dlw28资讯网——每日最新资讯28at.com

countries_df.describe()dlw28资讯网——每日最新资讯28at.com

使用 describe 函数,我们可以得到数据集连续变量的摘要,如下所示:dlw28资讯网——每日最新资讯28at.com

dlw28资讯网——每日最新资讯28at.com

在 describe() 函数中,我们可以设置参数"include = 'all'"来获取连续变量和分类变量的摘要dlw28资讯网——每日最新资讯28at.com

countries_df.describe(include = 'all')dlw28资讯网——每日最新资讯28at.com

dlw28资讯网——每日最新资讯28at.com

3、数据选择和过滤dlw28资讯网——每日最新资讯28at.com

分析其实不需要数据集的所有行和列,只需要选择感兴趣的列并根据问题过滤一些行。dlw28资讯网——每日最新资讯28at.com

例如,我们可以使用以下代码选择 Country 和 NewConfirmed 列:dlw28资讯网——每日最新资讯28at.com

countries_df[['Country','NewConfirmed']]dlw28资讯网——每日最新资讯28at.com

我们还可以将数据过滤Country,使用 loc,我们可以根据一些值过滤列,如下所示:dlw28资讯网——每日最新资讯28at.com

countries_df.loc[countries_df['Country'] == 'United States of America']dlw28资讯网——每日最新资讯28at.com

dlw28资讯网——每日最新资讯28at.com

4、聚合dlw28资讯网——每日最新资讯28at.com

计数、总和、均值等数据聚合,是数据分析最常执行的任务之一。dlw28资讯网——每日最新资讯28at.com

我们可以使用聚合找到各国的 NewConfimed 病例总数。使用 groupby 和 agg 函数执行聚合。dlw28资讯网——每日最新资讯28at.com

countries_df.groupby(['Country']).agg({'NewConfirmed':'sum'})5、Joindlw28资讯网——每日最新资讯28at.com

使用 Join 操作将 2 个数据集组合成一个数据集。dlw28资讯网——每日最新资讯28at.com

例如:一个数据集可能包含不同国家/地区的 Covid-19 病例数,另一个数据集可能包含不同国家/地区的纬度和经度信息。dlw28资讯网——每日最新资讯28at.com

现在我们需要结合这两个信息,那么我们可以执行如下所示的连接操作dlw28资讯网——每日最新资讯28at.com

countries_lat_lon = pd.read_excel('C:/Users/anmol/Desktop/Courses/Python for Data Science/Code/countries_lat_lon.xlsx')dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
# joining the 2 dataframe : countries_df and countries_lat_londlw28资讯网——每日最新资讯28at.com
# syntax : pd.merge(left_df, right_df, on = 'on_column', how = 'type_of_join')dlw28资讯网——每日最新资讯28at.com
joined_df = pd.merge(countries_df, countries_lat_lon, on = 'CountryCode', how = 'inner')dlw28资讯网——每日最新资讯28at.com
joined_df6、内建函数dlw28资讯网——每日最新资讯28at.com

了解数学内建函数,如 min()、max()、mean()、sum() 等,对于执行不同的分析非常有帮助。dlw28资讯网——每日最新资讯28at.com

我们可以通过调用它们直接在数据帧上应用这些函数,这些函数可以在列上或在聚合函数中独立使用,如下所示:dlw28资讯网——每日最新资讯28at.com

# finding sum of NewConfirmed cases of all the countries dlw28资讯网——每日最新资讯28at.com
countries_df['NewConfirmed'].sum()dlw28资讯网——每日最新资讯28at.com
# Output : 6,631,899dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
# finding the sum of NewConfirmed cases across different countries dlw28资讯网——每日最新资讯28at.com
countries_df.groupby(['Country']).agg({'NewConfirmed':'sum'})dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
# Output dlw28资讯网——每日最新资讯28at.com
# NewConfirmeddlw28资讯网——每日最新资讯28at.com
#Country dlw28资讯网——每日最新资讯28at.com
#Afghanistan 75dlw28资讯网——每日最新资讯28at.com
#Albania 168dlw28资讯网——每日最新资讯28at.com
#Algeria 247dlw28资讯网——每日最新资讯28at.com
#Andorra 0dlw28资讯网——每日最新资讯28at.com
#Angola 537、用户自定义函数dlw28资讯网——每日最新资讯28at.com

我们自己编写的函数是用户自定义函数。我们可以在需要时通过调用该函数来执行这些函数中的代码。例如,我们可以创建一个函数来添加 2 个数字,如下所示:dlw28资讯网——每日最新资讯28at.com

# User defined function is created using 'def' keyword, followed by function definition - 'addition()'dlw28资讯网——每日最新资讯28at.com
# and 2 arguments num1 and num2dlw28资讯网——每日最新资讯28at.com
def addition(num1, num2):dlw28资讯网——每日最新资讯28at.com
return num1+num2dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
# calling the function using function name and providing the arguments dlw28资讯网——每日最新资讯28at.com
print(addition(1,2))dlw28资讯网——每日最新资讯28at.com
#output : 38、Pivotdlw28资讯网——每日最新资讯28at.com

Pivot 是将一列行内的唯一值转换为多个新列,这是很棒的数据处理技术。dlw28资讯网——每日最新资讯28at.com

在 Covid-19 数据集上使用 pivot_table() 函数,我们可以将国家名称转换为单独的新列:dlw28资讯网——每日最新资讯28at.com

# using pivot_table to convert values within the Country column into individual columns and dlw28资讯网——每日最新资讯28at.com
# filling the values corresponding to these columns with numeric variable - NewConfimed dlw28资讯网——每日最新资讯28at.com
pivot_df = pd.pivot_table(countries_df, columns = 'Country', values = 'NewConfirmed')dlw28资讯网——每日最新资讯28at.com
pivot_df9、遍历数据框dlw28资讯网——每日最新资讯28at.com

很多时候需要遍历数据框的索引和行,我们可以使用 iterrows 函数遍历数据框:dlw28资讯网——每日最新资讯28at.com

# iterating over the index and row of a dataframe using iterrows() function dlw28资讯网——每日最新资讯28at.com
for index, row in countries_df.iterrows():dlw28资讯网——每日最新资讯28at.com
print('Index is ' + str(index))dlw28资讯网——每日最新资讯28at.com
print('Country is '+ str(row['Country']))dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
# Output : dlw28资讯网——每日最新资讯28at.com
# Index is 0dlw28资讯网——每日最新资讯28at.com
# Country is Afghanistandlw28资讯网——每日最新资讯28at.com
# Index is 1dlw28资讯网——每日最新资讯28at.com
# Country is Albaniadlw28资讯网——每日最新资讯28at.com
# .......10、字符串操作dlw28资讯网——每日最新资讯28at.com

很多时候我们处理数据集中的字符串列,在这种情况下,了解一些基本的字符串操作很重要。dlw28资讯网——每日最新资讯28at.com

例如如何将字符串转换为大写、小写以及如何找到字符串的长度。dlw28资讯网——每日最新资讯28at.com

# country column to upper casedlw28资讯网——每日最新资讯28at.com
countries_df['Country_upper'] = countries_df['Country'].str.upper()dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
# country column to lower casedlw28资讯网——每日最新资讯28at.com
countries_df['CountryCode_lower']=countries_df['CountryCode'].str.lower()dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
# finding length of characters in the country column dlw28资讯网——每日最新资讯28at.com
countries_df['len'] = countries_df['Country'].str.len()dlw28资讯网——每日最新资讯28at.com
dlw28资讯网——每日最新资讯28at.com
countries_df.head()dlw28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-119-2208-0.html十个 Python 小技巧,覆盖了90%的数据分析需求!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 云安全日报220308:Ubuntu Redis数据库发现执行任意代码漏洞,需要尽快升级

下一篇: 骗人还是文字强!MIT最新研究:DeepFake换脸还不如编辑动动笔

标签:
  • 热门焦点
  • K60至尊版刚预热 一加Ace2 Pro正面硬刚

    Redmi这边刚如火如荼的宣传了K60 Ultra的各种技术和硬件配置,作为竞品的一加也坐不住了。一加中国区总裁李杰发布了两条微博,表示在自家的一加Ace2上早就已经采用了和PixelWo
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • 帅气纯真少年!日本最帅初中生选美冠军出炉

    日本第一帅哥初一生选美大赛冠军现已正式出炉,冠军是来自千叶县的宗田悠良。日本一直热衷于各种选美大赛,从“最美JK”起到“最美女星&r
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • SpringBoot中使用Cache提升接口性能详解

    环境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架从 3.1 开始,对 Spring 应用程序提供了透明式添加缓存的支持。和事务支持一样,抽象缓存允许一致地使用各
  • 疑似小米14外观设计图曝光:后置相机模组变化不大

    下半年的大幕已经开启,而谁将成为下半年手机圈的主角就成为了大家关注的焦点,其中被传有望拿下新一代骁龙8 Gen3旗舰芯片的小米14系列更是备受大家瞩
  • 2299元起!iQOO Pad明晚首销:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其最大的卖点
Top