首页 > 其他分享 >软件测试|数据分析神器pandas教程(三)

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

时间:2023-06-15 15:56:53浏览次数:43  
标签:数据分析 df DataFrame 索引 pd data 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同样可以根据索引实返回指定数据。

获取更多技术资料,请点击!

标签:数据分析,df,DataFrame,索引,pd,data,pandas,软件测试
From: https://www.cnblogs.com/hogwarts/p/17483122.html

相关文章

  • 软件测试|数据分析神器pandas教程(一)
    前言Python是非常适合用于数据分析的,除了Python代码简单以外,Python还有非常多的第三方库,对于数据分析有很大帮助,今天我们就介绍一下Python进行数据分析的神器——pandas。获取更多技术资料,请点击!安装从2019年1月1号开始,新发布的pandas将只支持Python3版本,所以我们的教程也以p......
  • 软件测试|教你用matplotlib绘制热力图
    前言热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。当然,只要我们提供数据,Python就能够绘制出热力图。下面我们就来介绍一下如何......
  • 数据分析提效5倍,国有集团企业数字化历程 | 数字化标杆
    从北京到新疆、从中国到南非,从奥运会场馆的水泥混凝土到钱塘江畔拔地而起的高楼房产,无不存在着这个集团的身影。历经60多年沧桑巨变,某市属大型国有控股建筑产业集团已发展成为一家中国500强企业、A+H整体上市公司,然而,该集团的实力与决心,远不限于此。为让数据更好支撑业务,该集团......
  • 2023年打印机电商市场数据分析
    近年来,伴随自动化办公及在线教育等场景的常态化,文件或学习资料等的打印需求不断增长,这也使得打印机需求暴增,打印机市场的市场规模也越来越大。根据鲸参谋电商平台的相关数据显示,今年1月份至4月份,打印机在天猫平台上的商品总销量将近2000万件,商品总销售额将近21亿。目前,天猫平台上打......
  • Python Pandas教程:DataFrames入门
    Pandas是一个开源Python库,它在Python编程中提供数据分析和操作。它是数据表示,过滤和统计编程中非常有前途的库。Pandas中最重要的部分是DataFrame,您可以在其中存储和播放数据。在本教程中,您将了解DataFrame是什么,如何从不同的源创建它,如何将其导出到不同的输出,以及如何操作其数据。......
  • 如何进行有效的软件测试
    在软件开发过程中,软件测试是不可或缺的一步。只有经过充分的测试,才能保证软件的质量和稳定性。但是,软件测试也并非一成不变的,不同的软件需要采用不同的测试方案。那么,如何进行有效的软件测试呢?下面将为大家介绍几点建议。1.定义测试目标和范围在进行软件测试之前,首先需要明确测试......
  • 大数据分析平台释疑专用帖第三弹
    大数据分析平台释疑帖又来了,这次我们集中回答银行、公共交通、生产制造行业,以及财务数据分析等该用哪些大数据分析平台,希望能够对正在了解大数据分析平台,或者选型对比的你有所帮助。1、银行业该用哪个大数据分析平台?论经验、论方案,思迈特都比较有资格说话。2、领导很重视中国式报表......
  • 软件测试|教你用Python处理PDF文件(一)
    前言点击获取更多技术资料!我们在工作中,难免会遇到需要处理PDF文件的情况,PDF文件与Word文件不同,内容提取不是很容易,表格和图片都需要特别处理。不过PDF有一个优势,PDF可以跨平台使用,Windows系统,Mac系统都可以打开PDF文件,不像doc文件,需要在word或者类似的软件中才能打开。但是PDF......
  • 作为软件测试人员需要学习哪些技能和知识?
    如果您正在寻找一个快节奏的职业,在计算机领域拥有广阔的前景,那么软件测试可能是您想要追求的职业之一。随着全球数字化的浪潮,软件开发变得越来越重要,而软件测试就是确保这些应用程序和软件产品在上市前能够运行良好的关键部分。那么,作为软件测试人员,您需要学习哪些技能和知识才能做......
  • 大数据分析平台释疑专用帖第二弹
    不管是想要快速了解BI大数据分析平台,还是想要了解BI和自己的需求匹配度,都可关注我们的释疑专用贴。1、可以分析直播数据吗?严格来说,只要能够提供数据,就可以做数据可视化分析,直播数据也同理。如果用户无法将直播数据导出,则可以选择通过API接口,或者爬虫机器人来接入数据,进行数据可视化......