gpt4 book ai didi

python - Pandas 中双括号 `[[...]]` 和单括号 `[..]` 索引之间的区别

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:56 24 4
gpt4 key购买 nike

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

x_values = dataframe[['Brains']]

数据框对象由 2 列(大脑和 body )组成

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

关于python - Pandas 中双括号 `[[...]]` 和单括号 `[..]` 索引之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54464279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com