如果您开始成为数据科学家的旅程,那么第一步就是掌握数据操作的技能,因为几乎每个数据科学项目都需要它。数据操作从读取您的数据并将其转换为您可以从数据中回答您的问题的形式开始。Python 编程语言具有为数据操作和数据分析工作编写的Pandas 库。
在这篇博客中,我将概述每个有抱负的数据科学家都应该知道的 10 大 Python(Pandas)操作:
1、阅读数据集:数据是每个分析的组成部分。了解如何从不同的文件格式(例如:csv、excel、文本等)读取数据是您作为数据科学家应该擅长的第一步。下面是如何使用 pandas 读取包含 Covid-19 数据的 csv 文件的示例。
- import pandas as pd
- countries_df = pd.read_csv('C:/Users/anmol/Desktop/Courses/Python for Data Science/Code/countries_data.csv')
- # 查看数据框的前 5 行
- countries_df.head()
数据框的前 5 行
2. 汇总统计: 一旦您阅读了数据集,下一步就是通过查看NewConfirmed、TotalConfirmed等数字列的计数、均值、标准差(std)、第25个百分位数等数据汇总来了解数据等以及国家,国家代码等分类列的频率,最高出现值等。
使用 describe 函数,我们可以得到数据集连续变量的摘要,如下所示:
- countries_df.describe()
在 describe 函数中,我们可以设置参数“include = 'all'”来获取连续变量和分类变量的摘要。
- countries_df.describe(include = 'all')
想深入了解用于数据分析的 python 吗?您可以按照官方 python 文档进行操作,也可以注册我的cda网校课程。ps:https://edu.cda.cn/goods/show/365?targetId=1307&preview=0
3. 数据选择和过滤:分析不需要数据集的所有行和列。您需要选择感兴趣的列并根据您要回答的问题过滤一些行。
例如,我们可以使用以下代码选择 Country 和 NewConfirmed 列:
- countries_df[['Country','NewConfirmed']]
我们还可以将美国的数据过滤为国家。使用 loc,我们可以根据一些值过滤列,如下所示:
- countries_df.loc[countries_df['Country'] == 'United States of America']
4. 聚合:在不同的变量分组中查找数字汇总,例如计数、总和、均值等是数据聚合。这是数据科学家最常执行的任务之一。
我们可以使用聚合找到各国的 NewConfimed 病例总数。使用 groupby 和 agg 函数执行聚合。在 groupby 函数中,我们提供了要执行聚合的级别(Country 列),在聚合函数中,我们提供了要对列执行的列名(NewConfirmed)和数学运算(sum)。
- countries_df.groupby(['Country']).agg({'NewConfirmed':'sum'})
5. Join :使用 Join 操作将 2 个数据集组合成一个数据集。很多时候,不同的数据集中存在不同的信息,例如,一个数据集可能包含不同国家/地区的 Covid-19 病例数,另一个数据集可能包含不同国家/地区的纬度和经度信息。现在,如果我们需要结合这两个信息,那么我们可以执行如下所示的连接操作:
- countries_lat_lon = pd.read_excel('C:/Users/anmol/Desktop/Courses/Python for Data Science/Code/countries_lat_lon.xlsx')
- # 两个表链接 : countries_df 和 countries_lat_lon
- # 示例 : pd.merge(left_df, right_df, on = 'on_column', how = 'type_of_join')
- joined_df = pd.merge(countries_df, countries_lat_lon, on = 'CountryCode', how = 'inner')
- joined_df
6. 内置函数 :了解数学内置函数,如 min()、max()、mean()、sum() 等,对于执行不同的分析非常有帮助。我们可以通过调用它们直接在数据帧上应用这些函数。这些函数可以在列上或在聚合函数中独立使用,如下所示:
- countries_df['NewConfirmed'].sum()
- # Output : 6,631,899
- countries_df.groupby(['Country']).agg({'NewConfirmed':'sum'})
- # Output
- # NewConfirmed
- #Country
- #Afghanistan 75
- #Albania 168
- #Algeria 247
- #Andorra 0
- #Angola 53
- def addition(num1, num2):
- return num1+num2
- print(addition(1,2))
- #output : 3
- pivot_df = pd.pivot_table(countries_df, columns = 'Country', values = 'NewConfirmed')
- pivot_df
9.遍历数据框:很多时候需要遍历数据框的索引和行。我们可以使用 iterrows 函数遍历数据框:
- for index, row in countries_df.iterrows():
- print('Index is ' + str(index))
- print('Country is '+ str(row['Country']))
-
- # Output :
- # Index is 0
- # Country is Afghanistan
- # Index is 1
- # Country is Albania
- # .......
- countries_df['Country_upper'] = countries_df['Country'].str.upper()
- countries_df['CountryCode_lower']=countries_df['CountryCode'].str.lower()
- countries_df['len'] = countries_df['Country'].str.len()
- countries_df.head()
知道如何执行这 10 项操作将满足您近 70% 的数据操作需求。最后,如果你想学习更多关于数据分析的内容,你可以点击下方地址:https://edu.cda.cn/course/explore/cda_public?orderBy=recommendedSeq
题库

260 个论坛币

雷达卡







京公网安备 11010802022788号







