- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在处理一些数据并最终遇到这样的情况,我想剪下这样的系列:
df = pd.DataFrame({'A': 10000*[1], 'B': np.random.randint(0, 1001, 10000)})
df['level'] = pd.cut(df.B, bins = [0, 200, 400, 600, 800, 1000],
labels = ['i', 'ii', 'iii', 'iv', 'v'])
为了计算每个级别中值的数量,我在执行以下操作时发现了两个不同的答案:
df.level.value_counts(sort = False)
i 1934
ii 1994
iii 2055
iv 2056
v 1952
Name: level, dtype: int64
df.pivot_table(index = 'A', columns = 'level', values = 'B', aggfunc = 'count').loc[1]
level
i 1994
ii 2056
iii 1934
iv 1952
v 2055
Name: 1, dtype: int64
这两种方法不应该给出相同的结果吗?
最佳答案
是的,他们应该给出相同的结果。事实上,即使在旧版本的 Pandas
中也是如此:
In [22]: pd.__version__
Out[22]: '0.20.3'
In [23]: df = pd.DataFrame({'A': 10000*[1], 'B': np.random.randint(0, 1001, 10000)})
In [24]: df['level'] = pd.cut(df.B, bins = [0, 200, 400, 600, 800, 1000],
labels = ['i', 'ii', 'iii', 'iv', 'v'])
In [25]: df.level.value_counts(sort = False)
Out[25]:
i 1968
ii 1936
iii 1992
iv 2073
v 2022
Name: level, dtype: int64
In [26]: df.pivot_table(index = 'A', columns = 'level', values = 'B', aggfunc = 'count').loc[1]
Out[26]:
level
i 1968
ii 1936
iii 1992
iv 2073
v 2022
Name: 1, dtype: int64
使用 df.groupby()
也可以:
In [27]: df.groupby('level').size()
Out[27]:
level
i 1968
ii 1936
iii 1992
iv 2073
v 2022
dtype: int64
因此,您使用的版本可能存在一些错误。
关于python - 计数为 aggfunc 的数据透视表给出与 value_counts 不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51333520/
比如我得到的dataframe如下: PassengerId Survived Pclass 0 1 0 3 1 2
我有一个数据框,我想查找每个值出现的次数。当我使用这个命令时 test = df['name'].value_counts() 我得到了正确的结果,但是当我尝试这个 df['occ'] = df['n
我有一个 excel 文件,其中有一列包含多个单词。我正在尝试计算每个单词的出现频率。所以如果我有一个列表 Labels a a b b c c c 输出应该是 c : 3 b : 2 a : 2 我
这个问题在这里已经有了答案: How to count the same values in a dict? [duplicate] (1 个回答) 关闭 3 年前。 我很熟悉如何返回value_c
我正在尝试使用 pandas(v0.23.4 ).当所有类别都存在时,这工作正常: import calendar import random import pandas as pd random.s
我有以下列connect_start 0 2019-01-01 00:01:44 1 2019-01-01 00:02:57 2 2019-01-01 00:24:09 3 2019-
我需要计算大量独立列中的值的计数(例如由 value_counts 表示),这些独立列由一组固定的 2-5 个其他列分组。此练习是对多达数百万行和多达 50-100 列的数据进行数据挖掘的一部分。因此
我正在尝试计算 pandas df 的嵌套列的唯一值,这是 manuel 注释的结果。假设我们有以下 df: df_test = pd.DataFrame(data=dict(x=["A","B","
在pandas里面常用value_counts确认数据出现的频率。 1. Series 情况下: pandas 的 value_counts() 函数可以对Series里面的每个值进行计数并且排
我得到了以下数据框: ae264e3637204a6fb9bb56bc8210ddfd ... 2906b810c7d4411798c6938adc9daaa5 1
我有一个由 df.column.value_counts().sort_index() 生成的 Pandas 系列。 | N Months | Count | |------|------| |
我有以下数据框: import pandas as pd import numpy as np df_Station_Weather = pd.DataFrame(
我创建了一个由两列组成的数据框。我想计算这两列出现的次数。 数据框看起来像 - No Name 1 A 1 A 5 T 9 V Nan M 5 T 1 A 我想使用 valu
我有一个数据框,其中一列是带有以下标签的分类变量:['Short', 'Medium', 'Long', 'Very Long', 'Extremely Long'] .我正在尝试创建一个新的数据框,
这是我的数据框: email title id --------------------------------- balh@blah.com Title a
这是我的数据框: email title id --------------------------------- balh@blah.com Title a
目标 我正在尝试从 value_counts() 开始,为数据框中的每一列自动生成 EDA 报告。 问题 问题是我的函数没有返回任何内容。因此,虽然它确实打印到控制台,但它不会将相同的输出打印到我的文
我进行了一项调查,答案可以是 1-7,例如“绝对不快乐”到“绝对快乐”以及介于两者之间的一切,数据是一个 pandas 系列。对它进行 data.value_counts() 会产生有序表 5.0
我有一个在一组服务器上提出的票证的 pandas 数据框架,如下所示: a b c Users Problem 0 data data data U
自从我开始在 pandas 中使用categorical类型以来,我有一段无法工作的特定代码:(为了方便起见,我将其形成为测试): import pandas as pd import numpy a
我是一名优秀的程序员,十分优秀!