软件测试|数据分析神器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同样可以根据索引实返回指定数据。

相关文章
|
12天前
|
机器学习/深度学习 数据采集 算法
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
【10月更文挑战第5天】随着数据科学和机器学习领域的快速发展,处理大规模数据集的能力变得至关重要。Python凭借其强大的生态系统,尤其是NumPy、Pandas和SciPy等库的支持,在这个领域占据了重要地位。本文将深入探讨这些库如何帮助科学家和工程师高效地进行数据分析,并通过实际案例来展示它们的一些高级应用。
36 0
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
|
19天前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
30 1
|
29天前
|
数据挖掘 Python
Pandas实战(3):电商购物用户行为数据分析
Pandas实战(3):电商购物用户行为数据分析
77 1
|
14天前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
53 0
|
29天前
|
数据挖掘 Python
Pandas数据分析实战(2):2023美国财富1000强公司情况
Pandas数据分析实战(2):2023美国财富1000强公司情况
34 0
|
29天前
|
数据采集 数据挖掘 Python
Pandas数据分析实战(1):2023美国财富1000强公司情况
Pandas数据分析实战(1):2023美国财富1000强公司情况
37 0
|
29天前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
46 0
|
3月前
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
281 0
|
19天前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
45 3
|
1月前
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化

热门文章

最新文章