gpt4 book ai didi

python - Pandas - 如何对 value_counts 进行切片?

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

我想对 pandas value_counts() 进行切片:

>sur_perimetre[col].value_counts()
44341006.0 610
14231009.0 441
12131001.0 382
12222009.0 364
12142001.0 354

但是我收到一个错误:

> sur_perimetre[col].value_counts()[:5]
KeyError: 5.0

与 ix 相同:

> sur_perimetre[col].value_counts().ix[:5]
KeyError: 5.0

你会如何处理这个问题?

编辑

也许:

pd.DataFrame(sur_perimetre[col].value_counts()).reset_index()[:5]

最佳答案

方法一:

您需要观察 value_counts() 返回一个 Series 对象。您可以像任何其他系列一样处理它并获取值。您甚至可以用它构造一个新的数据框。

In [1]: import pandas as pd

In [2]: df = pd.DataFrame([1,2,3,3,4,5], columns=['C1'])

In [3]: vc = df.C1.value_counts()

In [4]: type(vc)
Out[4]: pandas.core.series.Series

In [5]: vc.values
Out[5]: array([2, 1, 1, 1, 1])

In [6]: vc.values[:2]
Out[6]: array([2, 1])

In [7]: vc.index.values
Out[7]: array([3, 5, 4, 2, 1])

In [8]: df2 = pd.DataFrame({'value':vc.index, 'count':vc.values})

In [8]: df2
Out[8]:
count value
0 2 3
1 1 5
2 1 4
3 1 2
4 1 1

方法2:

然后,我试图重新生成您提到的错误。但是,在 DF 中使用单列时,我在与您提到的相同符号中没有遇到任何错误。

In [1]: import pandas as pd

In [2]: df = pd.DataFrame([1,2,3,3,4,5], columns=['C1'])

In [3]: df['C1'].value_counts()[:3]
Out[3]:
3 2
5 1
4 1
Name: C1, dtype: int64

In [4]: df.C1.value_counts()[:5]
Out[4]:
3 2
5 1
4 1
2 1
1 1
Name: C1, dtype: int64

In [5]: pd.__version__
Out[5]: u'0.17.1'

希望对你有帮助!

关于python - Pandas - 如何对 value_counts 进行切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37522323/

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