pandas value_counts 详细用法
时间: 2024-05-05 20:21:20 浏览: 101
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)
```
阅读全文