Python数据框子集创建:3种简单高效的方法教程
大家好,读者朋友们!在本文中,我们将详细讨论如何以不同的方式创建Python数据框的子集。
那么,让我们开始吧!
首先,什么是Python的数据框?
Python Pandas 模块提供了两种数据结构,分别是 Series(系列)和 DataFrame(数据框),用于存储数值。
数据框是一种以矩阵形式保存数据的数据结构,即按行和列的形式包含数据。因此,我们可以通过以下方式创建和访问它的子集:
- 根据行访问数据作为子集
- 根据列获取数据作为子集
- 从特定行和列访问特定数据作为子集
现在我们已经了解了数据框和子集的相关知识,让我们来了解一下从数据框创建子集的不同技巧。
创建一个数据框来进行操作!
为了创建数据框的子集,我们需要先创建一个数据框。让我们先解决这个问题:
import pandas as pd
data = {"学号": [10,20,30,40,50,60,70], "年龄":[12,14,13,12,14,13,15], "姓名":['John','Camili','Rheana','Joseph','Amanti','Alexa','Siri']}
block = pd.DataFrame(data)
print("原始数据框:\n")
print(block)
输出结果:
原始数据框:
学号 年龄 姓名
0 10 12 John
1 20 14 Camili
2 30 13 Rheana
3 40 12 Joseph
4 50 14 Amanti
5 60 13 Alexa
6 70 15 Siri
在这里,我们使用pandas.DataFrame()方法创建了一个数据框。在本文中,我们将使用上述创建的数据集。
让我们开始吧!
用loc()函数创建一个Python数据框的子集。
这是文章《创建Python数据框的子集有3种简单方法》的第2部分(共3部分)。
Python的loc()函数可以根据特定的行、列或二者的组合来形成数据框的子集。
loc()函数基于标签工作,即我们需要为其提供要选择并创建自定义子集的行/列的标签。
语法:
pandas.dataframe.loc[]
示例1:提取数据框中特定行的数据。
block.loc[[0,1,3]]
输出:
如下所示,我们已创建了一个子集,其中包括第0、1和3行的所有数据。
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
3 40 12 Joseph
示例2:使用切片创建行的子集
block.loc[0:3]
在这里,我们使用切片操作符和loc()函数从索引0到索引3提取了所有行的数据。
输出:
Roll-num Age NAME
0 10 12 John
1 20 14 Camili
2 30 13 Rheana
3 40 12 Joseph
示例3:使用标签创建特定列的子集。
block.loc[0:2,['Age','NAME']]
输出:
Age NAME
0 12 John
1 14 Camili
2 13 Rheana
在这里,我们创建了一个子集,包括行0到2的数据,但只包括特定列,例如”Age”和”NAME”。
使用Python的iloc()函数来创建数据框的子集
Python的iloc()函数允许我们根据索引从行和列中选择特定值,从而创建子集。
也就是说,与适用于标签的loc()函数不同,iloc()函数适用于索引值。通过提供行和列的索引数字,我们可以选择并创建Python数据框的子集。
语法:
pandas.dataframe.iloc[]
示例:
block.iloc[[0,1,3,6],[0,2]]
在这里,我们创建了一个子集,它包括了第0、1、3和6行的数据,以及第0和2列即”Roll-num”和”NAME”。
输出:
Roll-num NAME
0 10 John
1 20 Camili
3 40 Joseph
6 70 Siri
3. 使用索引运算符创建数据框的子集
以一种简单的方式,我们可以利用一个索引运算符,即方括号,来创建数据的一个子集。
句法结构。
dataframe[['col1','col2','colN']]
能给我个杯子吗?
Nǐ wǒ gè ma?
block[['Age','NAME']]
在这里,我们分别选择了“年龄”和“姓名”列的所有数据值。
输出:请仅以一种选项用中文翻译以下内容。
Age NAME
0 12 John
1 14 Camili
2 13 Rheana
3 12 Joseph
4 14 Amanti
5 13 Alexa
6 15 Siri