📅  最后修改于: 2023-12-03 14:51:44.740000             🧑  作者: Mango
在使用 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()
方法来获取特定的列数据。