大括号中的双括号“ [[…]]”和单括号“ [..]”索引之间的区别

我对以下代码行的语法感到困惑:

x_values = dataframe[['Brains']]

数据框对象由2列(“大脑”和“身体”)组成

Brains Bodies

42 34

32 23

当我打印x_values时,我得到这样的东西:

Brains

0 42

1 32

就dataframe对象的属性和方法而言,我知道pandas文档,但双括号语法使我感到困惑。

回答:

考虑一下:

来源DF:

In [79]: df

Out[79]:

Brains Bodies

0 42 34

1 32 23

选择一列-生成Pandas.Series:

In [80]: df['Brains']

Out[80]:

0 42

1 32

Name: Brains, dtype: int64

In [81]: type(df['Brains'])

Out[81]: pandas.core.series.Series

选择DataFrame的子集-结果为DataFrame:

In [82]: df[['Brains']]

Out[82]:

Brains

0 42

1 32

In [83]: type(df[['Brains']])

Out[83]: pandas.core.frame.DataFrame

第二种方法允许我们从DataFrame中选择多个列。第一个仅用于选择单列…

演示:

In [84]: df = pd.DataFrame(np.random.rand(5,6), columns=list('abcdef'))

In [85]: df

Out[85]:

a b c d e f

0 0.065196 0.257422 0.273534 0.831993 0.487693 0.660252

1 0.641677 0.462979 0.207757 0.597599 0.117029 0.429324

2 0.345314 0.053551 0.634602 0.143417 0.946373 0.770590

3 0.860276 0.223166 0.001615 0.212880 0.907163 0.437295

4 0.670969 0.218909 0.382810 0.275696 0.012626 0.347549

In [86]: df[['e','a','c']]

Out[86]:

e a c

0 0.487693 0.065196 0.273534

1 0.117029 0.641677 0.207757

2 0.946373 0.345314 0.634602

3 0.907163 0.860276 0.001615

4 0.012626 0.670969 0.382810

如果仅在列表中指定一列,则将获得包含一列的DataFrame:

In [87]: df[['e']]

Out[87]:

e

0 0.487693

1 0.117029

2 0.946373

3 0.907163

4 0.012626

以上是 大括号中的双括号“ [[…]]”和单括号“ [..]”索引之间的区别 的全部内容, 来源链接: utcz.com/qa/412972.html

回到顶部