📌  相关文章
📜  如何仅获取 pandas 中的某些列 - Python (1)

📅  最后修改于: 2023-12-03 14:51:44.740000             🧑  作者: Mango

如何仅获取 pandas 中的某些列 - Python

在使用 pandas 进行数据分析和处理时,我们经常需要从 DataFrame 中仅获取特定的列。本文将介绍几种在 Python 中使用 pandas 获取某些列的方法。

方法一:使用列标签

最简单的方法是使用 DataFrame 的列标签来获取特定的列。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 获取列 'A' 和 'C'
selected_cols = df[['A', 'C']]

在上述代码中,我们使用双括号将列标签作为列表传递给 DataFrame,从而获取特定的列数据。

方法二:使用列索引

还可以使用列索引来获取特定的列。每个 DataFrame 的列都有一个整数索引,可以通过整数索引来获取对应的列。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 获取索引为 0 和 2 的列
selected_cols = df[df.columns[[0, 2]]]

在上述代码中,我们使用 df.columns 获取列索引,然后通过索引列表 [0, 2] 获取对应的列。

方法三:使用列位置

还可以通过列的位置来获取特定的列。DataFrame 中的列位置从 0 开始,可以使用 iloc 属性来选择列。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 获取第一列和第三列
selected_cols = df.iloc[:, [0, 2]]

在上述代码中,我们使用 df.iloc 来选择第一列和第三列,其中 : 表示选择所有的行。

方法四:使用 filter() 方法

pandas 还提供了 filter() 方法,可以根据列标签或列名的模式来选择列。下面是一个示例代码:

import pandas as pd

# 创建一个示例 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 获取以 'A'、'B' 或 'C' 开头的列
selected_cols = df.filter(regex='^(A|B|C)')

在上述代码中,我们使用正则表达式 ^(A|B|C) 来选择以 'A'、'B' 或 'C' 开头的列。

结论

本文介绍了几种在 Python 中使用 pandas 获取某些列的方法。根据具体的需求,可以选择使用列标签、列索引、列位置或 filter() 方法来获取特定的列数据。