pandas value_counts算百分比
时间: 2023-05-09 09:01:39 浏览: 161
Pandas是一个Python库,专门用于处理和分析数据。在Pandas中,value_counts()是一个函数,用于计算数据集中每个唯一值的出现次数。如果我们想要计算这些值的百分比,可以使用normalize参数。normalize默认是False,即返回数据集中每个唯一值的计数。如果将normalize参数设置为True,value_counts()函数将按百分比返回每个唯一值出现的频率,而不是计数。例如,如果我们有一个包含1000个元素的数据集,其中有300个“是”和700个“否”,并且我们运行以下代码:
```python
import pandas as pd
data = ["yes"] * 300 + ["no"] * 700
s = pd.Series(data)
print(s.value_counts(normalize=True))
```
我们将获得以下输出:
```
no 0.7
yes 0.3
dtype: float64
```
这表示“是”占30%,“否”占70%。根据需要,我们还可以将百分比格式化为特定的数字或字符串格式。
相关问题
pandas value_counts 详细用法
pandas中的value_counts()函数可以用于统计某一列中不同值出现的次数,它返回一个Series对象,其中包含每个不同值的计数。以下是它的详细用法:
```python
DataFrame['column_name'].value_counts(
normalize=False,
sort=True,
ascending=False,
bins=None,
dropna=True,
)
```
参数解释:
- normalize:设置为True时,返回每个不同值的百分比。
- sort:设置为True时,将结果按照计数值进行排序。
- ascending:设置为False时,将计数值从大到小排序。
- bins:设置为整数n时,将数据分为n个等宽的区间,并统计每个区间中不同值的计数。
- dropna:设置为False时,将包含NaN值的计数值也进行计算。
示例:
```python
import pandas as pd
data = {'name': ['Tom', 'Jerry', 'Tom', 'Lucy', 'Jerry']}
df = pd.DataFrame(data)
# 统计name列中每个不同值出现的次数
value_counts = df['name'].value_counts()
print(value_counts)
# 按照计数值进行排序
sorted_counts = df['name'].value_counts().sort_values()
print(sorted_counts)
# 返回每个不同值的百分比
percent_counts = df['name'].value_counts(normalize=True)
print(percent_counts)
# 将数据分为3个等宽的区间,并统计每个区间中不同值的计数
binned_counts = df['name'].value_counts(bins=3)
print(binned_counts)
# 包含NaN值的计数值也进行计算
nan_counts = pd.Series(['Tom', 'Jerry', 'Tom', 'Lucy', None]).value_counts(dropna=False)
print(nan_counts)
```
pandas value_count
pandas 的 value_counts() 函数可以对一个 Series 或者 DataFrame 中每个唯一值出现的次数进行统计。
对于 Series 对象,可以直接调用 value_counts() 函数,例如:
```
import pandas as pd
s = pd.Series([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
print(s.value_counts())
```
输出结果为:
```
4 4
3 3
2 2
1 1
dtype: int64
```
对于 DataFrame 对象,可以指定某一列进行统计,例如:
```
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [2, 2, 2, 3], 'C': [3, 3, 4, 5]})
print(df['B'].value_counts())
```
输出结果为:
```
2 3
3 1
Name: B, dtype: int64
```
此外,value_counts() 函数还支持一些参数,例如 normalize 参数可以指定是否返回出现次数的百分比,sort 参数可以指定是否按照出现次数进行排序。