提取DataFrame中的某些列是数据分析中经常遇到的任务,下面是几种在pandas中提取DataFrame某些列的方法:
通过列名提取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']]
注意,使用方括号提取多列时,要将列名放在一个列表中,并且列表要用两个方括号包围。
使用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方法时,第一个冒号表示提取所有的行,后面的数字表示要提取的列的范围,可以是连续的数字,也可以使用列表来指定不连续的列。
使用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