Pandas DataFrame 取值方法:详解 7 种常用技巧

Pandas DataFrame 是数据分析中常用的数据结构,灵活的取值方式是其一大优势。本文将详细介绍 7 种常用的 Pandas DataFrame 取值方法,并附带示例代码。

1. 使用 loc 方法:

使用行标签和列标签进行取值。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])

# 取 'a' 行的 'A' 列
print(df.loc['a', 'A'])

# 取 'a' 行和 'B' 列
print(df.loc['a', 'B'])

# 取 'a' 行和 'A'、'B' 列
print(df.loc['a', ['A', 'B']])

# 取 'a' 和 'b' 行的所有列
print(df.loc[['a', 'b'], :])

2. 使用 iloc 方法:

使用行索引和列索引进行取值。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])

# 取第一行的第一列
print(df.iloc[0, 0])

# 取第二行的第二列
print(df.iloc[1, 1])

# 取第一行和第二列
print(df.iloc[0, 1])

# 取第一行和第二列
print(df.iloc[[0, 1], 1])

# 取所有行的第一列
print(df.iloc[:, 0])

3. 使用 at 方法:

使用行标签和列标签进行单个元素的取值。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])

# 取 'a' 行的 'A' 列
print(df.at['a', 'A'])

4. 使用 iat 方法:

使用行索引和列索引进行单个元素的取值。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])

# 取第一行的第一列
print(df.iat[0, 0])

5. 使用 [] 操作符:

可以使用列名或列索引进行列的取值,也可以使用切片或布尔索引进行行的取值。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])

# 取 'A' 列
print(df['A'])

# 取第一列
print(df[0])

# 取前两行
print(df[:2])

# 取 'B' 列大于 5 的行
print(df[df['B'] > 5])

6. 使用 query 方法:

使用布尔表达式进行行的筛选。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])

# 取 'B' 列大于 5 的行
print(df.query('B > 5'))

7. 使用 filter 方法:

使用列名或正则表达式进行列的筛选。

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['a', 'b', 'c'])

# 取列名包含 'A' 的列
print(df.filter(regex='A'))

# 取列名以 'B' 开头的列
print(df.filter(regex='^B'))

总结

本文介绍了 Pandas DataFrame 的 7 种常用取值方法,每种方法都有其适用场景。建议根据实际需求选择合适的取值方法,以提高数据处理效率。

Pandas DataFrame 取值方法:详解 7 种常用技巧

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

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