pandas数据处理基础之筛选指定行或者指定列的数据
pandas是基于NumPy数组构建的,处理数据更方便快捷。数据选择和操作也更加便捷。本文将介绍pandas数据处理中的一些基础知识,围绕着如何筛选指定行或者指定列的数据进行讲解。
为什么要筛选数据?
在处理数据时,我们常常需要从数据中提取出一些需要的信息进行分析。而pandas中提供的数据筛选机制可以帮助我们快速地获取数据中的子集,可以使我们更加便捷地进行数据清洗和分析。
筛选指定行或者指定列的数据
在pandas中,我们可以通过[]
和.loc[]
、.iloc[]
操作符来获取一个DataFrame中的子集,这里就分别来介绍这两种方式。
1. 通过[]操作符筛选数据
[]
操作符可以直接获取指定列的数据,也可以在[]
中完成行筛选的操作。
选取列:
import pandas as pd
# 创建一个DataFrame数据集
df = pd.DataFrame({
'name': ['小明', '小红', '小亮'],
'age': [18, 19, 17],
'gender': ['男', '女', '男'],
'grade': [80, 90, 85]
})
# 获取指定列的数据
print(df['name'])
输出结果:
0 小明
1 小红
2 小亮
Name: name, dtype: object
通过[]
操作符获取到的数据是一个Series类型,其中Name
是该列的列名。
选取行:
import pandas as pd
# 创建一个DataFrame数据集
df = pd.DataFrame({
'name': ['小明', '小红', '小亮'],
'age': [18, 19, 17],
'gender': ['男', '女', '男'],
'grade': [80, 90, 85]
})
# 获取指定行的数据
print(df[1:3])
输出结果:
name age gender grade
1 小红 19 女 90
2 小亮 17 男 85
通过[]
操作符获取到的数据可以是指定的一些行的数据,也可以在[]
中指定需要筛选出的行的范围,获取到的数据是一个DataFrame类型。
2. 通过.loc[]和.iloc[]操作符筛选数据
在pandas中,也可以通过.loc[]
和.iloc[]
操作符来进行数据筛选。
.loc[]
用于基于标签的索引,而.iloc[]
用于基于位置的索引。具体使用方式如下:
选取列:
import pandas as pd
# 创建一个DataFrame数据集
df = pd.DataFrame({
'name': ['小明', '小红', '小亮'],
'age': [18, 19, 17],
'gender': ['男', '女', '男'],
'grade': [80, 90, 85]
})
# 获取指定列的数据
print(df.loc[:, 'name'])
print(df.iloc[:, 0])
输出结果:
0 小明
1 小红
2 小亮
Name: name, dtype: object
0 小明
1 小红
2 小亮
Name: name, dtype: object
选取行:
import pandas as pd
# 创建一个DataFrame数据集
df = pd.DataFrame({
'name': ['小明', '小红', '小亮'],
'age': [18, 19, 17],
'gender': ['男', '女', '男'],
'grade': [80, 90, 85]
})
# 获取指定行的数据
print(df.loc[1:2, :])
print(df.iloc[1:2, :])
输出结果:
name age gender grade
1 小红 19 女 90
2 小亮 17 男 85
name age gender grade
1 小红 19 女 90
.loc[]
和.iloc[]
操作符可以指定需要获取的行列范围。:
表示选取所有的行或者列。
总结
本文介绍了pandas数据处理中筛选指定行或者指定列的基础知识,主要包含两种处理方式——[]
和.loc[]
、.iloc[]
。在实际应用中,可以根据不同的需求灵活运用这些方式来获取数据子集,以便后续进行数据清洗和分析。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas数据处理基础之筛选指定行或者指定列的数据 - Python技术站