关键词

pandas中提取DataFrame某些列的一些方法

提取DataFrame中的某些列是数据分析中经常遇到的任务,下面是几种在pandas中提取DataFrame某些列的方法:

  1. 使用列名提取

通过列名提取DataFrame中的某些列是最常见的做法,可以使用方括号来提取一列或多列,如下所示:

import pandas as pd 

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

# 提取单列
col_a = df['A']

# 提取多列
col_ab = df[['A', 'B']]

注意,使用方括号提取多列时,要将列名放在一个列表中,并且列表要用两个方括号包围。

  1. 使用iloc方法提取

使用iloc方法根据列的下标提取DataFrame中的某些列,如下所示:

import pandas as pd 

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

# 提取第0列(即'A'列)
col_0 = df.iloc[:, 0]

# 提取第0和1列
col_01 = df.iloc[:, 0:2]

在使用iloc方法时,第一个冒号表示提取所有的行,后面的数字表示要提取的列的范围,可以是连续的数字,也可以使用列表来指定不连续的列。

  1. 使用loc方法提取

使用loc方法根据列的名称提取DataFrame中的某些列,如下所示:

import pandas as pd 

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

# 提取'A'列
col_a = df.loc[:, 'A']

# 提取'A'和'B'列
col_ab = df.loc[:, ['A', 'B']]

在使用loc方法时,第一个冒号表示提取所有的行,后面的字符串或字符串列表表示要提取的列的名称。

示例展示:

df = pd.read_csv('data.csv')
# 将第一和最后一列拿出来
df_new = df.iloc[:, [0, -1]]
print(df_new.head())

# 提取一列并乘2
df_new = df['col_a'] * 2
print(df_new.head())

以上就是提取DataFrame某些列的这项任务的完整攻略,包括以上三种方法和两条实例说明。

本文链接:http://task.lmcjl.com/news/14536.html

展开阅读全文