十个 Python 小技巧,覆盖了90%的数据分析需求!
数据分析师日常工作会涉及各种任务,比如数据预处理、数据分析、机器学习模型创建、模型部署。
在本文中,我将分享10个 Python 操作,它们可覆盖90%的数据分析问题。有所收获点赞、收藏、关注。
1、阅读数据集
阅读数据是数据分析的组成部分,了解如何从不同的文件格式读取数据是数据分析师的第一步。下面是如何使用 pandas 读取包含 Covid-19 数据的 csv 文件的示例。
import pandas as pd
# reading the countries_data file along ith the location ithin read_csv function.
countries_df = pd.read_csv('C:/Users/anmol/Desk/Courses/Python for Data Science/Code/countries_data.csv')
# shoing the first 5 ros of the dataframe
countries_df.head()
以下是 countries_df.head() 的输出,我们可以使用它查看数据框的前 5 行
2、汇总统计
下一步就是通过查看数据汇总来了解数据,例如 NeConfirmed、TotalConfirmed 等数字列的计数、均值、标准偏差、分位数以及国家代码等分类列的频率、最高出现值
countries_df.describe()
使用 describe 函数,我们可以得到数据集连续变量的摘要,如下所示
在 describe() 函数中,我们可以设置参数"include = 'all'"来获取连续变量和分类变量的摘要
countries_df.describe(include = 'all')
3、数据选择和过滤
分析其实不需要数据集的所有行和列,只需要选择感兴趣的列并根据问题过滤一些行。
例如,我们可以使用以下代码选择 Country 和 NeConfirmed 列
countries_df[['Country','NeConfirmed']]
我们还可以将数据过滤Country,使用 loc,我们可以根据一些值过滤列,如下所示
countries_df.loc[countries_df['Country'] == 'United States of America']
4、聚合
计数、总和、均值等数据聚合,是数据分析最常执行的任务之一。
我们可以使用聚合找到各国的 NeConfimed 病例总数。使用 groupby 和 agg 函数执行聚合。
countries_df.groupby(['Country']).agg({'NeConfirmed':'sum'})5、Join
使用 Join 操作将 2 个数据集组合成一个数据集。
例如一个数据集可能包含不同国家/地区的 Covid-19 病例数,另一个数据集可能包含不同国家/地区的纬度和经度信息。
现在我们需要结合这两个信息,那么我们可以执行如下所示的连接操作
countries_lat_lon = pd.read_excel('C:/Users/anmol/Desk/Courses/Python for Data Science/Code/countries_lat_lon.xlsx')
# joining the 2 dataframe : countries_df and countries_lat_lon
# syntax : pd.merge(left_df, right_df, on = 'on_column', ho = 'type_of_join')
joined_df = pd.merge(countries_df, countries_lat_lon, on = 'CountryCode', ho = 'inner')
joined_df6、内建函数
了解数学内建函数,如 min()、max()、mean()、sum() 等,对于执行不同的分析非常有帮助。
我们可以通过调用它们直接在数据帧上应用这些函数,这些函数可以在列上或在聚合函数中独立使用,如下所示
# finding sum of NeConfirmed cases of all the countries
countries_df['NeConfirmed'].sum()
# Output : 6,631,899
# finding the sum of NeConfirmed cases across different countries
countries_df.groupby(['Country']).agg({'NeConfirmed':'sum'})
# Output
# NeConfirmed
#Country
#Afghanistan 75
#Albania 168
#Algeria 247
#Andorra 0
#Angola 537、用户自定义函数
我们自己编写的函数是用户自定义函数。我们可以在需要时通过调用该函数来执行这些函数中的代码。例如,我们可以创建一个函数来添加 2 个数字,如下所示
# User defined function is created using 'def' keyord, folloed by function definition - 'addition()'
# and 2 arguments num1 and num2
def addition(num1, num2):
return num1+num2
# calling the function using function name and providing the arguments
print(addition(1,2))
#output : 38、Pivot
Pivot 是将一列行内的唯一值转换为多个新列,这是很棒的数据处理技术。
在 Covid-19 数据集上使用 pivot_table() 函数,我们可以将国家名称转换为单独的新列
# using pivot_table to convert values ithin the Country column into individual columns and
# filling the values corresponding to these columns ith numeric variable - NeConfimed
pivot_df = pd.pivot_table(countries_df, columns = 'Country', values = 'NeConfirmed')
pivot_df9、遍历数据框
很多时候需要遍历数据框的索引和行,我们可以使用 iterros 函数遍历数据框
# iterating over the index and ro of a dataframe using iterros() function
for index, ro in countries_df.iterros():
print('Index is ' + str(index))
print('Country is '+ str(ro['Country']))
# Output :
# Index is 0
# Country is Afghanistan
# Index is 1
# Country is Albania
# .......10、字符串操作
很多时候我们处理数据集中的字符串列,在这种情况下,了解一些基本的字符串操作很重要。
例如如何将字符串转换为大写、小写以及如何找到字符串的长度。
# country column to upper case
countries_df['Country_upper'] = countries_df['Country'].str.upper()
# country column to loer case
countries_df['CountryCode_loer']=countries_df['CountryCode'].str.loer()
# finding length of characters in the country column
countries_df['len'] = countries_df['Country'].str.len()
countries_df.head()
人工智能培训
- 真正能和人交流的机器人什么时候实现
- 国产机器人成功完成首例远程冠脉介入手术
- 人工智能与第四次工业革命
- 未来30年的AI和物联网
- 新三板创新层公司东方水利新增专利授权:“一
- 发展人工智能是让人和机器更好地合作
- 新春贺喜! 经开区持续推进工业互联网平台建设
- 以工业机器人为桥 传统企业如何趟过智造这条河
- 山立滤芯SAGL-1HH SAGL-2HH
- 2015国际智能星创师大赛火热报名中!
- 未来机器人会咋看人类?递归神经网络之父-像蚂
- 成都新川人工智能创新中心二期主体结构封顶
- 斯坦德机器人完成数亿元人民币C轮融资,小米产
- 到2020年,智能手机将拥有十项AI功能,有些可能
- 寻找AI机器人的增长“跳板”:老龄化为支点的产
- 力升高科耐高温消防机器人参加某支队性能测试