Pandas 数据选择:loc、iloc、at、iat、[]、query、filter 方法详解

Pandas 是 Python 中用于数据分析的强大工具,它提供了丰富的功能来处理各种数据格式。数据选择是数据分析的第一步,Pandas 提供了多种方法来选择数据,本文将详细介绍七种常用的方法:

  1. loc 方法:使用行标签和列标签进行取值
import pandas as pd

df = pd.read_csv('data.csv', index_col='ID')

# 获取行标签为1,列标签为'Name'的值
name = df.loc[1, 'Name']
print(name)

# 获取行标签为1的所有值
row_data = df.loc[1, :]
print(row_data)

# 获取列标签为'Age'的所有值
col_data = df.loc[:, 'Age']
print(col_data)

# 获取行标签为1, 2,列标签为'Name', 'Age'的值
data = df.loc[[1, 2], ['Name', 'Age']]
print(data)
  1. iloc 方法:使用行索引和列索引进行取值
import pandas as pd

df = pd.read_csv('data.csv', index_col='ID')

# 获取第一行,第二列的值
value = df.iloc[0, 1]
print(value)

# 获取前两行的所有值
rows = df.iloc[:2, :]
print(rows)

# 获取第二列的所有值
cols = df.iloc[:, 1]
print(cols)

# 获取第一行,第二行,第三列的值
data = df.iloc[[0, 1], 2]
print(data)
  1. at 方法:使用行标签和列标签进行单个元素的取值
import pandas as pd

df = pd.read_csv('data.csv', index_col='ID')

# 获取行标签为1,列标签为'Name'的值
name = df.at[1, 'Name']
print(name)
  1. iat 方法:使用行索引和列索引进行单个元素的取值
import pandas as pd

df = pd.read_csv('data.csv', index_col='ID')

# 获取第一行,第二列的值
value = df.iat[0, 1]
print(value)
  1. [] 操作符:可以使用列名或列索引进行列的取值,也可以使用切片或布尔索引进行行的取值
import pandas as pd

df = pd.read_csv('data.csv', index_col='ID')

# 获取列名为'Name'的所有值
col_data = df['Name']
print(col_data)

# 获取第一行的所有值
row_data = df.loc[1, :]
print(row_data)

# 获取第一行到第三行的所有值
rows = df[0:3]
print(rows)

# 获取年龄大于20岁的所有行数据
age_greater_than_20 = df[df['Age'] > 20]
print(age_greater_than_20)
  1. query 方法:使用布尔表达式进行行的筛选
import pandas as pd

df = pd.read_csv('data.csv', index_col='ID')

# 获取年龄大于20岁的所有行数据
age_greater_than_20 = df.query('Age > 20')
print(age_greater_than_20)
  1. filter 方法:使用列名或正则表达式进行列的筛选
import pandas as pd

df = pd.read_csv('data.csv', index_col='ID')

# 获取列名以'A'开头的所有列数据
cols = df.filter(regex='^A')
print(cols)

通过以上方法,你可以灵活地选择 Pandas 数据框中的数据,并进行进一步的数据分析。建议你根据自己的实际需求选择合适的方法。

Pandas 数据选择:loc、iloc、at、iat、[]、query、filter 方法详解

原文地址: https://www.cveoy.top/t/topic/mUks 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录