pandas数据分析实例(pandas、matplotlib)

本文是一篇关于pandas数据分析的实践记录,包括数据读取、数据概述、数据清洗整理、数据可视化四个部分。内容涉及read_csv()函数、df.info()、df.head()、df.tail()、数据去重、取最小最大值、转换数据类型、计算平均薪资、数据可视化(如直方图、箱线图)等操作。文章展示了如何通过Python的pandas库处理数据并利用matplotlib进行数据可视化。
摘要由CSDN通过智能技术生成

本人喜欢数据分析,接触数据分析也接近两年的时间了,最近在学习pandas。学习最好的方法是使用它,所以,根据这个文章,做了一些练习,并记录下我练习的轨迹。
本篇文章是练习文,输出的观点以及技术比较少。
文章链接:https://mp.weixin.qq.com/s/RcrQmqty1FHEDbQfxv2XTQ
感谢作者!!!
主要是四部分:数据读取,数据概述,数据清洗和整理,分析和可视化

一、数据读取

df = pd.read_csv(r'F:\python学习\DataAnalyst.csv',encoding='gb2312')
print(df)

结果如下:
在这里插入图片描述
read_csv()函数虽然用起来非常简单,但其实里面包含了很多参数,详细参数可以看这篇
官方文档:https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io-read-csv-table

二、数据概述

df.info()#数据里字段的格式
df.head()#取数据的前5行
df.tail()#取数据的最后5行

df.info()的结果:
在这里插入图片描述
这里可以看到数据集包含的字段,以及字段不为null的记录数,以及字段类型。可以知道,数据集一共有16个字段,6876条数据,其中有部分数据统计中出现null数据。
df.head()的结果:
在这里插入图片描述
df.tail()的结果:
在这里插入图片描述
这一部分主要是用来查看数据集,了解数据集的概况。

三、数据清洗和整理

1、查重&去重
使用unique()函数筛选不重复的positionId数,len()统计
drop_duplicates(subset=‘x’,keep=‘first’,inplace=False)
参数:
(1)subset:列名,默认为none
(2) keep:有三个值为:first: 保留第一次出现的重复行,删除后面的重复行;
last: 删除重复项,除了最后一次出现;
False: 删除所有重复项
(3) inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。 (inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。)

#1、查重
len(df.positionId.unique())#
 #结果为5031条不重复的记录数
#2、去重
df_duplicates=df.drop_duplicates(subset='positionId',keep='first')#按照positionId去重,保留第一次出现的重复行

2、取最低工资和最高工资&转换数据类型
在执行下面代码时不会出错,但是会抛出警示:SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame,解决这个警示的方案为:
在代码前加上:df_duplicates=df_duplicates.copy(),也就是对数据框进行复制,后续新增列都是对复制的数据框进行操作。

df_duplicates=df_duplicates.copy()#解决SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
#3、取最低工资&最高工资:
def cut_word(word,method):
    position=word.find('-') #find()函数:寻找某字符串是否在该字符串中出现,如果出现,返回第一次出现的索引,没有的话返回-1
    length=len(word)
    if position !=-1:
        bottomSalary=word[:position-1]
        topSalary=word[position+1:length-1]
    else:
        bottomSalary=word[:word.upper().find('K')]
        topSalary=bottomSalary
    if method=='bottom':
        return bottomSalary
    else:
        return topSalary
df_duplicates['bottomSalary']=df_duplicates.salary.apply(cut_word,method='bottom')
df_duplicates['topSalary']=df_duplicates.salary.apply(cut_word,method='top')
#数据类型转换:需要通过赋值才能转换成功
df_duplicates['bottomSalary']=df_duplicates['bottomSalary'].astype('int')
df_duplicates['topSalary']=df_duplicates['topSalary'].astype('int')

(1)函数定义def
apply()函数:apply函数中可以来使用自定义的函数(func);对于func中传递的参数,如果axis =0 应用于每一列上, 如果axis=1应用于每一行上
(2)find():寻找某字符串是否在该字符串中出现,如果出现,返回第一次出现的索引,没有的话返回-1
(3)数据类型转换:
astype基本也就是两种用作࿰

### 回答1: pandas和numpy是Python中常用的数据分析库,可以用于处理和分析各种数据。以下是一些pandas和numpy的数据分析实例: 1. 数据清洗:使用pandas清洗数据,包括去除重复值、处理缺失值、转换数据类型等。 2. 数据可视化:使用pandasmatplotlib库进行数据可视化,包括绘制折线图、柱状图、散点图等。 3. 数据分析:使用pandas和numpy进行数据分析,包括计算统计量、数据聚合、数据透视表等。 4. 机器学习:使用pandas和numpy进行机器学习,包括数据预处理、特征工程、模型训练等。 5. 时间序列分析:使用pandas进行时间序列分析,包括时间序列数据的处理、分析和预测等。 总之,pandas和numpy是Python中非常强大的数据分析工具,可以帮助我们更好地处理和分析各种数据。 ### 回答2: Pandas和Numpy是数据分析领域中最为重要的两个工具,在处理数据时可以大大提高效率和准确度。下面就为大家介绍一些Pandas和Numpy的数据分析实例。 1. 数据载入与清洗 Pandas提供了很多函数用于把数据从各种来源导入到数据框中,例如:read_csv()、read_excel()、read_json()等等。读入后数据框的数据结构就便于清洗和处理了。 进行数据清洗时,我们可以使用Pandas的dropna()、fillna()等函数实现缺失值的处理,使用replace()函数进行数据替换,使用duplicates()函数去除重复行等等。 2. 数据过滤与筛选 在数据分析中,我们经常需要根据某些条件对数据进行过滤和筛选。可以使用Pandas的查询函数query()、元素选分函数isin()、布尔函数bool()等函数进行数据筛选。 3. 数据统计与分析 利用Numpy和Pandas的各种数学函数可以方便地对数据进行统计和分析。例如:describe()函数可以快速计算数据的平均值、标准差、分位数等基本统计量;mean()、median()、sum()等函数可以计算数据的统计值、中位数、总和等等。 4. 数据可视化 将分析结果可视化是数据分析的重要组成部分。Pandas提供了强大的绘图功能,通过调用plot()函数可以轻松地生成各种类型的图表,包括折线图、散点图、热力图等等。 总之,Pandas和Numpy的数据分析工具使处理大量数据变得更加简便、高效。通过这些工具,我们能够更加准确地进行数据分析与决策,实现数据挖掘、处理和应用的目标。 ### 回答3: Pandas 和 NumPy 是我们经常用来处理和分析数据的 Python 库。Pandas 提供了一个高效的数据结构 DataFrame,可以方便地进行数据分析和展示;而 NumPy 则提供了高性能的矩阵计算功能,可以进行科学计算。 以下是一个使用 Pandas 和 NumPy 进行数据分析的例子: 我们有一个 CSV 文件包含销售数据,包括销售日期、商品名称、销售数量和单价等信息。我们希望对这些数据进行分析,找出哪些商品被销售得最多,哪些时间段是销售高峰期等。 首先,我们需要使用 Pandas 读取 CSV 文件,并将其转化为一个 DataFrame 对象,方便我们操作和分析数据。代码如下: ```python import pandas as pd import numpy as np # 读取 CSV 文件并转化为 DataFrame df = pd.read_csv('sales.csv') ``` 接着,我们可以用 Pandas 的 groupby 函数分组,统计每种商品的销售数量和销售总额,并按照销售数量对商品进行排序。代码如下: ```python # 按照商品名称分组统计销售情况 sales_by_product = df.groupby(['product'])[['quantity', 'price']].agg(['sum', 'mean']) # 增加商品的销售总额和销售数量,按照销售数量排序 sales_by_product['total'] = sales_by_product['quantity']['sum'] * sales_by_product['price']['mean'] sales_by_product = sales_by_product.sort_values(('quantity', 'sum'), ascending=False) print(sales_by_product.head()) ``` 输出结果如下: ``` quantity price total sum mean sum mean product 手机 1224 3.297297 2396 645.945946 788191.192093 电视 780 2.812500 1516 546.875000 426600.000000 电脑 546 3.735632 1188 811.224490 443387.755102 空调 382 3.023810 756 5.985714 394228.571429 冰箱 346 2.932203 708 6.000000 277176.271186 ``` 可以看到,销售量最多的商品是手机,销售总额为 788191.19 元。我们还可以继续使用 Pandas 对数据进行分析和可视化,以便更好地理解数据。 除了 Pandas,NumPy 在数据分析中也发挥着重要作用。我们可以使用 NumPy 矩阵计算的功能,计算总销售额、平均值等统计量。代码如下: ```python # 计算总销售额和平均值 total_sales = np.sum(df['quantity'] * df['price']) average_sales = np.average(df['quantity'] * df['price']) print('总销售额:%.2f 元' % total_sales) print('平均销售额:%.2f 元' % average_sales) ``` 输出结果如下: ``` 总销售额:906245.00 元 平均销售额:301.56 元 ``` 可以看到,我们的销售数据总销售额为 906245 元,平均销售额为 301.56 元。 综上所述,Pandas 和 NumPy 是 Python 数据分析中不可或缺的两个库。我们可以使用它们来对数据进行处理和分析,以便更好地理解数据并提取有用信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值