如何在Pandas中获取DataFrame的列片

  • Post category:Python

在Pandas中,可以通过取得 DataFrame 的一个或者多个列来获取列片,这个过程包括索引或选择 DataFrame 。下面是具体的攻略:

  1. 通过索引获取列片

可以使用DataFrame的iloc属性获取DataFrame的列片,以下是示例:

import pandas as pd

#创建一个Sample DataFrame
data={'name':['Alice','Bob','Charlie','David','Emily'], 
      'age':[25,34,29,42,19],
      'score1':[85,92,73,62,91], 
      'score2':[66,79,82,88,59],
      'score3':[90,92,89,82,85]} 
df=pd.DataFrame(data)

#使用iloc属性获取行片
col_slice = df.iloc[:, 1:4]   #获取第1、2、3列

print(col_slice.head())

输出结果:

   age  score1  score2
0   25      85      66
1   34      92      79
2   29      73      82
3   42      62      88
4   19      91      59
  1. 通过选择获取列片

可以使用 DataFrame 的 [] 或者 . 操作符来选择一列,也可以选择多列。以下是示例:

import pandas as pd

#创建一个Sample DataFrame
data={'name':['Alice','Bob','Charlie','David','Emily'], 
      'age':[25,34,29,42,19],
      'score1':[85,92,73,62,91], 
      'score2':[66,79,82,88,59],
      'score3':[90,92,89,82,85]} 
df=pd.DataFrame(data)

#使用 [] 选择一列
col_slice = df['score1']   #选择列'score1'

print(col_slice.head())

#使用 [] 选择多列
col_slice = df[['age', 'score2']]  #选择列'age'和'score2'

print(col_slice.head())

#使用 . 操作符选择一列
col_slice = df.age   #选择列'age'

print(col_slice.head())

输出结果:

0    85
1    92
2    73
3    62
4    91
Name: score1, dtype: int64
   age  score2
0   25      66
1   34      79
2   29      82
3   42      88
4   19      59
0    25
1    34
2    29
3    42
4    19
Name: age, dtype: int64

以上就是关于如何在 Pandas 中获取 DataFrame 的列片的完整攻略。