软件测试|数据处理神器pandas教程(四)

简介: 软件测试|数据处理神器pandas教程(四)

在这里插入图片描述

前言

很多时候,我们使用pandas进行数据处理的时,并不是将数据写在脚本里,而是使用pandas读取数据文件,pandas可以很便捷地处理CSV格式的文件,本篇文章我们就来介绍一下pandas处理CSV文件的方法。

关于CSV文件

CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。

CSV 是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。

数据准备

我们获取了2022年度中国大陆地区31个省市自治区的主要经济数据,包括GDP,增长率,常住人口,人均GDP,人均收入数据,写入了一个CSV数据。并将文件命名为data.csv。

pandas读取CSV文件

pandas提供了直接读取CSV文件的函数,read_csv()即可以读取数据,下面是我们的读取实例,代码如下:

import pandas as pd

df = pd.read_csv('data.csv')

print(df.to_string())
-------------------------------
输出结果如下:
    排名   省份        GDP  growth  Population  GDP per capita  Income per capita
0    1   广东  129118.58     1.9    12684.00           10.18              47065
1    2   江苏  122875.60     2.8     8505.40           14.45              49862
2    3   山东   87435.00     3.9    10169.99            8.60              37560
3    4   浙江   77715.00     3.1     6540.00           11.88              60302
4    5   河南   61345.05     3.1     9883.00            6.21              28222
5    6   四川   56749.80     2.9     8372.00            6.78              30679
6    7   湖北   53734.92     4.3     5844.00            9.22              32914
7    8   福建   53109.85     4.7     4188.00           12.68              43118
8    9   湖南   48670.37     4.5     6604.00            7.35              34036
9   10   安徽   45045.00     3.5     6127.00            7.37              32745
10  11   上海   44652.80    -0.2     2489.43           17.94              79610
11  12   河北   42370.40     3.8     7420.00            5.69              30867
12  13   北京   41610.90     0.7     2188.60           19.01              77415
13  14   陕西   32772.68     4.3     3954.00            8.29              30116
14  15   江西   32074.70     4.7     4517.40            7.10              32419
15  16   重庆   29129.03     2.6     3212.43            9.07              35666
16  17   辽宁   28975.10     2.1     4255.00            6.85              36089
17  18   云南   28954.20     4.3     4690.00            6.17              26937
18  19   广西   26300.87     2.9     5037.00            5.22              27981
19  20   山西   25642.59     4.4     3480.48            7.37              29178
20  21  内蒙古   23159.00     4.2     2400.00            9.65              35921
21  22   贵州   20164.58     1.2     3858.00            5.23              25508
22  23   新疆   17741.34     3.2     2589.00            6.85              27063
23  24   天津   16311.34     1.0     1373.00           11.88              48976
24  25  黑龙江   15901.00     2.7     3125.00            5.09              28346
25  26   吉林   13070.24    -1.9     2375.37            5.50              27975
26  27   甘肃   11201.60     4.5     2490.02            4.50              23273
27  28   海南    6818.22     0.2     1020.46            6.68              30957
28  29   宁夏    5069.57     4.0      725.00            6.99              29599
29  30   青海    3610.10     2.3      594.00            6.08              27000
30  31   西藏    2132.64     1.1      366.00            5.83              26675

pandas写入CSV文件

pandas除了可以读取CSV文件中的数据,当然还可以将DataFrame中的数据存储为CSV文件,使用to_csv()即可,示例代码如下:

import pandas as pd

club = ['IG', 'EDG', 'RNG']
player = ['theshy', 'meiko', 'gala']
position = ['top', 'support', 'adc']

dict = {'club': club, 'player': player, 'position': position}

df = pd.DataFrame(dict)

df.to_csv('game.csv')

执行成功之后,我们可以查看CSV文件的内容如下图:

在这里插入图片描述

数据处理

  1. head(),查看头部n行的数据

我们都知道在Linux中,可以使用head查看指定的顶部几行的文件内容,pandas同样提供了head()方法实现类似功能,head(n)读取前面的 n 行,如果不填参数 n ,默认返回 5 行。示例代码如下:

# 读取前5行
import pandas as pd

df = pd.read_csv('data.csv')

print(df.head())
--------------------------
输出结果如下:
   排名  省份        GDP  growth  Population  GDP per capita  Income per capita
0   1  广东  129118.58     1.9    12684.00           10.18              47065
1   2  江苏  122875.60     2.8     8505.40           14.45              49862
2   3  山东   87435.00     3.9    10169.99            8.60              37560
3   4  浙江   77715.00     3.1     6540.00           11.88              60302
4   5  河南   61345.05     3.1     9883.00            6.21              28222
# 读取前n行

import pandas as pd

df = pd.read_csv('data.csv')

print(df.head(15))

---------------------------------
输出结果如下:
    排名  省份        GDP  growth  Population  GDP per capita  Income per capita
0    1  广东  129118.58     1.9    12684.00           10.18              47065
1    2  江苏  122875.60     2.8     8505.40           14.45              49862
2    3  山东   87435.00     3.9    10169.99            8.60              37560
3    4  浙江   77715.00     3.1     6540.00           11.88              60302
4    5  河南   61345.05     3.1     9883.00            6.21              28222
5    6  四川   56749.80     2.9     8372.00            6.78              30679
6    7  湖北   53734.92     4.3     5844.00            9.22              32914
7    8  福建   53109.85     4.7     4188.00           12.68              43118
8    9  湖南   48670.37     4.5     6604.00            7.35              34036
9   10  安徽   45045.00     3.5     6127.00            7.37              32745
10  11  上海   44652.80    -0.2     2489.43           17.94              79610
11  12  河北   42370.40     3.8     7420.00            5.69              30867
12  13  北京   41610.90     0.7     2188.60           19.01              77415
13  14  陕西   32772.68     4.3     3954.00            8.29              30116
14  15  江西   32074.70     4.7     4517.40            7.10              32419
  1. tail(),查看尾部的数据

与上面所说的head()方法类似,tail( n ) 方法用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行,空行各个字段的值返回 NaN。

#  读取末尾5行

import pandas as pd

df = pd.read_csv('data.csv')

print(df.tail())

------------------------------------
输出结果如下:
    排名  省份       GDP  growth  Population  GDP per capita  Income per capita
26  27  甘肃  11201.60     4.5     2490.02            4.50              23273
27  28  海南   6818.22     0.2     1020.46            6.68              30957
28  29  宁夏   5069.57     4.0      725.00            6.99              29599
29  30  青海   3610.10     2.3      594.00            6.08              27000
30  31  西藏   2132.64     1.1      366.00            5.83              26675
# 输出后n行数据
import pandas as pd

df = pd.read_csv('data.csv')

print(df.tail(10))

----------------------
输出结果如下:
    排名   省份       GDP  growth  Population  GDP per capita  Income per capita
21  22   贵州  20164.58     1.2     3858.00            5.23              25508
22  23   新疆  17741.34     3.2     2589.00            6.85              27063
23  24   天津  16311.34     1.0     1373.00           11.88              48976
24  25  黑龙江  15901.00     2.7     3125.00            5.09              28346
25  26   吉林  13070.24    -1.9     2375.37            5.50              27975
26  27   甘肃  11201.60     4.5     2490.02            4.50              23273
27  28   海南   6818.22     0.2     1020.46            6.68              30957
28  29   宁夏   5069.57     4.0      725.00            6.99              29599
29  30   青海   3610.10     2.3      594.00            6.08              27000
30  31   西藏   2132.64     1.1      366.00            5.83              26675
  1. info(),返回数据基本信息

info()方法可以返回一些DataFrame的基本信息,示例代码如下:

import pandas as pd

df = pd.read_csv('data.csv')

print(df.info())

-----------------------------
输出结果如下:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 31 entries, 0 to 30  # 行数,31 行,第一行编号为 0
Data columns (total 7 columns):  # 列数,7列
 #   Column             Non-Null Count  Dtype  # # 各列的数据类型
---  ------             --------------  -----  
 0   排名                 31 non-null     int64  
 1   省份                 31 non-null     object 
 2   GDP                31 non-null     float64
 3   growth             31 non-null     float64
 4   Population         31 non-null     float64
 5   GDP per capita     31 non-null     float64  # non_null 非空数据
 6   Income per capita  31 non-null     int64  
dtypes: float64(4), int64(2), object(1)  # 类型
memory usage: 1.8+ KB  # 占用内存
None

总结

本文主要介绍了pandas读取和写入csv数据的方法,并且介绍了查看头部和底部数据的方法,后续我们将介绍pandas处理JSON数据的相关方法。

相关文章
|
3月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
2月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
279 0
|
2月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
449 0
|
5月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
4月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
966 10
|
3月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
4月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
407 0
|
4月前
|
JSON 安全 测试技术
什么是API接口测试?这可能是全网最全的教程了!
API 是应用程序间的“中间人”,用于实现通信和数据交换。随着微服务架构的普及,API 数量激增,其质量对系统稳定性至关重要。API 测试可验证功能、性能与安全性,帮助开发者在部署前发现并修复问题,提升系统可靠性。测试内容包括请求方法、URL、请求头、请求体、响应状态码与响应数据等。常用工具如 Postman、AREX 可辅助测试,确保 API 在不同场景下的正确性与稳定性。
|
6月前
|
运维 数据挖掘 数据处理
Pandas时间数据处理:从基础到进阶的实战指南
Pandas时间数据处理涵盖了从基础到高级的全面功能。其核心由Timestamp、DatetimeIndex、Period和Timedelta四个类构建,支持精准的时间点与区间操作。内容包括时间数据生成(字符串解析与序列生成)、时间索引与切片、高级运算(偏移重采样与窗口计算)、时区处理、周期性数据分析及实战案例(如智能电表数据)。此外,还涉及性能优化技巧和未来展望,帮助用户高效处理时间序列数据并应用于预测分析等场景。
300 1
|
6月前
|
传感器 安全 数据处理
Pandas时间数据处理:从基础到进阶的实战指南
本文深入讲解Pandas时间数据处理技巧,从时间对象转换到高性能计算全面覆盖。通过真实案例拆解,掌握Timestamp与Period的核心概念、时间序列生成、重采样方法及窗口函数应用。同时剖析时区处理、性能优化策略及常见陷阱解决方案,并展望Pandas 2.0的时间处理新特性。内容强调“时间索引优先”原则,助你高效分析股票K线、用户行为等时间序列数据。
197 0