gpt4 book ai didi

python - 如何获取 pandas 系列的最后一列

转载 作者:行者123 更新时间:2023-11-30 21:56:11 24 4
gpt4 key购买 nike

我正在尝试计算数组的频率。我读过这个post ,我正在使用 DataFrame 并得到一个系列。

>>> a = np.array([1, 1, 5, 0, 1, 2, 2, 0, 1, 4])
>>> df = pd.DataFrame(a, columns=['a'])
>>> b = df.groupby('a').size()
>>> b
a
0 2
1 4
2 2
4 1
5 1
dtype: int64
>>> b.iloc[:,-1]

当我尝试获取最后一列时,出现此错误。

Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/Users/pan/anaconda3/lib/python3.6/site-packages/pandas/core/indexing.py", line 1472, in __getitem__
return self._getitem_tuple(key) File "/Users/pan/anaconda3/lib/python3.6/site-packages/pandas/core/indexing.py", line 2013, in _getitem_tuple
self._has_valid_tuple(tup) File "/Users/pan/anaconda3/lib/python3.6/site-packages/pandas/core/indexing.py", line 220, in _has_valid_tuple
raise IndexingError('Too many indexers') pandas.core.indexing.IndexingError: Too many indexers

如何获取b的最后一列?

最佳答案

因为pandas.Series是一个

One-dimensional ndarray with axis labels

如果您只想获取频率列,即您的系列,使用:

b.tolist()

或者,或者:

b.to_dict()

保留标签和频率。

附注:

对于您的特定任务,还可以考虑集合包:

>>> from collections import Counter
>>> a = [1, 1, 5, 0, 1, 2, 2, 0, 1, 4]
>>> c = Counter(a)
>>> list(c.values())
[2, 4, 2, 1, 1]

关于python - 如何获取 pandas 系列的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55547287/

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