gpt4 book ai didi

python - 尝试访问数据框列显示 "
转载 作者:太空宇宙 更新时间:2023-11-04 00:29:56 24 4
gpt4 key购买 nike

我在 Jupyter Notebook 中创建 DataFrame 对象:

data = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
'year':[2000, 2001, 2002, 2000, 2001],
'pop':[1.5, 2.0, 3.6, 2.4, 2.9]}
frame = DataFrame(data)

当我提取“年”列时,没问题:

In [30]: frame.year
Out[30]: 0 2000
1 2001
2 2002
3 2000
4 2001
Name: year, dtype: int64

但是当我提取“pop”列 (frame.pop) 时,结果是:

Out[31]:
<bound method NDFrame.pop of pop state year
0 1.5 Ohio 2000
1 2.0 Ohio 2001
2 3.6 Ohio 2002
3 2.4 Nevada 2000
4 2.9 Nevada 2001>

为什么结果与“frame.year”不同?

最佳答案

pop是数据帧级函数。这里的要点是尽量避免使用 . 访问器来访问列。有许多数据框属性和函数可能会与您的列名称冲突,在这种情况下 . 将调用这些属性和函数而不是您的列。

您想改用 [..] dict 访问器:

frame['pop']
0 1.5
1 2.0
2 3.6
3 2.4
4 2.9
Name: pop, dtype: float64

如果你想使用pop,你可以。这是这样的:

frame.pop('pop') 
0 1.5
1 2.0
2 3.6
3 2.4
4 2.9
Name: pop, dtype: float64

frame
state year
0 Ohio 2000
1 Ohio 2001
2 Ohio 2002
3 Nevada 2000
4 Nevada 2001

请注意,这会修改原始数据框,因此除非您尝试删除列,否则不要这样做。

关于python - 尝试访问数据框列显示 "<bound method NDFrame.xxx...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46239946/

24 4 0

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