创建Python数据框的子集有3种简单方法
大家好,读者朋友们!在本文中,我们将详细讨论如何以不同的方式创建Python数据框的子集。
所以,让我们开始吧!
首先,什么是Python的数据帧?
Python Pandas 模块提供了两种数据结构,分别是 Series 和 Dataframe,用于存储数值。
Dataframe是一种数据结构,以矩阵的形式保存数据,即按行和列的值形式包含数据。因此,与此相关,我们可以以以下格式创建和访问它的子集:
- Access data according to the rows as subset
- Fetch data according to the columns as subset
- Access specific data from some rows as well as columns as subset
现在我们已经了解了Dataframe和子集(subsets)的相关知识,让我们来了解一下从Dataframe创建子集的不同技巧。
创建一个数据框来进行操作!
为了创建数据框的子集,我们需要先创建一个数据框。让我们先解决这个问题:
import pandas as pd
data = {"Roll-num": [10,20,30,40,50,60,70], "Age":[12,14,13,12,14,13,15], "NAME":['John','Camili','Rheana','Joseph','Amanti','Alexa','Siri']}
block = pd.DataFrame(data)
print("Original Data frame:\n")
print(block)
結果:輸出
Original Data frame:
Roll-num Age NAME
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的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
Example 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的数据,但只包括特定列,例如‘年龄’和‘姓名’。
使用Python的iloc()函数来创建数据框的子集
Python的iloc()函数允许我们根据索引从行和列中选择特定值,从而创建子集。
也就是说,与适用于标签的loc()函数不同,iloc()函数适用于索引值。通过提供行和列的索引数字,我们可以选择并创建Python数据帧的子集。
语法:
pandas.dataframe.iloc[]
例子:
原文:Can you please pass me the salt?
汉语翻译:请你把盐递给我好吗?
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
结论 (jié
通过这个,我们已经到达了这个话题的尽头。如果你遇到任何问题,请随意在下方评论。想要了解更多与Python相关的文章,请保持关注,愉快学习!^_^