软件测试|数据处理神器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数据的相关方法。

相关文章
|
1月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
71 0
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
52 1
|
2月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
63 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
1月前
|
SQL 数据采集 数据挖掘
Pandas 教程
10月更文挑战第25天
37 2
|
1月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
41 2
|
2月前
|
并行计算 大数据 数据处理
亿级数据处理,Pandas的高效策略
在大数据时代,数据量的爆炸性增长对处理技术提出更高要求。本文介绍如何利用Python的Pandas库及其配套工具高效处理亿级数据集,包括:采用Dask进行并行计算,分块读取以减少内存占用,利用数据库进行复杂查询,使用内存映射优化Pandas性能,以及借助PySpark实现分布式数据处理。通过这些方法,亿级数据处理变得简单高效,助力我们更好地挖掘数据价值。
106 1
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
77 4
|
2月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
93 3
|
3月前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
43 2
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3