软件测试|数据分析神器pandas教程(三)

简介: 软件测试|数据分析神器pandas教程(三)

前言

前面我们介绍了pandas Series数据结构,本篇文章我们来介绍另外一种pandas数据结构——DataFrame。

DataFrame

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。如下图所示:

在这里插入图片描述
在这里插入图片描述

DataFrame 构造方法如下:

pandas.DataFrame( data, index, columns, dtype, copy)

参数说明:

  • data:一组数据(ndarray、series, map, lists, dict 等类型)
  • index:索引值,或者可以称为行标签
  • columns:列标签,默认为 RangeIndex (0, 1, 2, …, n)
  • dtype:数据类型
  • copy:拷贝数据,默认为 False

下面是我们的一个简单实例:

import pandas as pd

data = [['Muller',33],['Sane',27],['Reus',30]]

df = pd.DataFrame(data,columns=['Player','Age'],dtype=float)

print(df)
------------
输出结果如下:
   Player   Age
0  Muller  33.0
1    Sane  27.0
2    Reus  30.0

同样,我们也可以使用ndarrays 创建DataFrame,代码如下

import pandas as pd

data = {'Player':['Muller', 'Sane', 'Reus'], 'Age':[33, 27, 30]}

df = pd.DataFrame(data,columns=['Player','Age'],dtype=float)

print(df)
-------------------------------------
输出结果如下:
   Player   Age
0  Muller  33.0
1    Sane  27.0
2    Reus  30.0

注:ndarray 的长度必须相同, 如果传递了 index,则索引的长度应等于数组的长度。如果没有传递索引,则默认情况下,索引将是range(n),其中n是数组长度。

从以上输出结果可以知道, DataFrame 数据类型一个表格,包含 rows(行) 和 columns(列):

在这里插入图片描述

使用字典(key/value)创建DataFrame,代码如下:

import pandas as pd

data = [{'Muller': 18, 'Sane': 8}, {'Muller': 33, 'Sane': 27, 'Reus': 30}]

df = pd.DataFrame(data)
print(df)

--------------------------
输出结果如下:
   Muller  Sane  Reus
0      18     8   NaN
1      33    27  30.0

注:没有对应的部分数据为 NaN

Pandas 可以使用 loc 属性返回指定行的数据,如果没有设置索引,第一行索引为 0,第二行索引为 1,实例如下:

import pandas as pd

data = {
  "Goals": [27, 20, 18],
  "Asts": [20, 16, 12]
}

# 数据载入到 DataFrame 对象
df = pd.DataFrame(data)

# 返回第一行
print(df.loc[0])
# 返回第二行
print(df.loc[1])
-----------------------
输出结果如下:
Goals    27
Asts     20
Name: 0, dtype: int64
Goals    20
Asts     16
Name: 1, dtype: int64

注:返回结果其实是一个 Pandas Series 数据。

也可以返回多行数据,使用 [[ ... ]] 格式,... 为各行的索引,以逗号隔开:

import pandas as pd

data = {
  "Goals": [27, 20, 18],
  "Asts": [20, 16, 12]
}

# 数据载入到 DataFrame 对象
df = pd.DataFrame(data)

print(df.loc[[0,1]])

--------------------
输出结果如下:
   Goals  Asts
0     27    20
1     20    16

同样地,我们也可以指定索引值,代码如下:

import pandas as pd

data = {
  "goals": [35, 30, 28],
  "asts": [15, 20, 22]
}

df = pd.DataFrame(data, index = ["2020", "2021", "2022"])

print(df)
--------------------------------------------
输出结果如下:
      goals  asts
2020     35    15
2021     30    20
2022     28    22

同样地,我们可以通过索引来返回某一行的数据,代码如下:

import pandas as pd

data = {
  "goals": [35, 30, 28],
  "asts": [15, 20, 22]
}

df = pd.DataFrame(data, index = ["2020", "2021", "2022"])
print(df.loc["2020"])

---------------------------------------
输出结果如下:
goals    35
asts     15
Name: 2020, dtype: int64

总结

本文主要介绍了pandas的DataFrame数据结构,DataFrame是一个表格型的数据结构,也可以看做是
由 Series 组成的字典,只是共用索引,DataFrame同样可以根据索引实返回指定数据。

相关文章
|
3月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
5月前
|
自然语言处理 数据挖掘 数据处理
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
本文将介绍 10 个在数据处理中至关重要的 Pandas 技术模式。这些模式能够显著减少调试时间,提升代码的可维护性,并构建更加清晰的数据处理流水线。
206 3
告别低效代码:用对这10个Pandas方法让数据分析效率翻倍
|
5月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
12月前
|
数据采集 数据可视化 数据挖掘
Pandas数据应用:天气数据分析
本文介绍如何使用 Pandas 进行天气数据分析。Pandas 是一个强大的 Python 数据处理库,适合处理表格型数据。文章涵盖加载天气数据、处理缺失值、转换数据类型、时间序列分析(如滚动平均和重采样)等内容,并解决常见报错如 SettingWithCopyWarning、KeyError 和 TypeError。通过这些方法,帮助用户更好地进行气候趋势预测和决策。
363 71
|
4月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
966 10
|
3月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
4月前
|
JSON 安全 测试技术
什么是API接口测试?这可能是全网最全的教程了!
API 是应用程序间的“中间人”,用于实现通信和数据交换。随着微服务架构的普及,API 数量激增,其质量对系统稳定性至关重要。API 测试可验证功能、性能与安全性,帮助开发者在部署前发现并修复问题,提升系统可靠性。测试内容包括请求方法、URL、请求头、请求体、响应状态码与响应数据等。常用工具如 Postman、AREX 可辅助测试,确保 API 在不同场景下的正确性与稳定性。
|
12月前
|
存储 数据采集 数据可视化
Pandas数据应用:电子商务数据分析
本文介绍如何使用 Pandas 进行电子商务数据分析,涵盖数据加载、清洗、预处理、分析与可视化。通过 `read_csv` 等函数加载数据,利用 `info()` 和 `describe()` 探索数据结构和统计信息。针对常见问题如缺失值、重复记录、异常值等,提供解决方案,如 `dropna()`、`drop_duplicates()` 和正则表达式处理。结合 Matplotlib 等库实现数据可视化,探讨内存不足和性能瓶颈的应对方法,并总结常见报错及解决策略,帮助提升电商企业的数据分析能力。
495 73
|
11月前
|
存储 数据采集 数据可视化
Pandas数据应用:医疗数据分析
Pandas是Python中强大的数据操作和分析库,广泛应用于医疗数据分析。本文介绍了使用Pandas进行医疗数据分析的常见问题及解决方案,涵盖数据导入、预处理、清洗、转换、可视化等方面。通过解决文件路径错误、编码不匹配、缺失值处理、异常值识别、分类变量编码等问题,结合Matplotlib等工具实现数据可视化,并提供了解决常见报错的方法。掌握这些技巧可以提高医疗数据分析的效率和准确性。
338 22
|
数据可视化 数据挖掘
R中单细胞RNA-seq数据分析教程 (3)
R中单细胞RNA-seq数据分析教程 (3)
R中单细胞RNA-seq数据分析教程 (3)