pandas分类求个数后排序取前十
时间: 2023-08-01 16:09:14 浏览: 46
你可以使用 pandas 的 value_counts() 方法来计算分类变量的个数,然后使用 sort_values() 方法对结果进行排序,最后使用 head() 方法取前十个值。以下是示例代码:
```python
import pandas as pd
# 创建一个示例 DataFrame
data = {'category': ['A', 'B', 'A', 'C', 'B', 'B', 'A', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P']}
df = pd.DataFrame(data)
# 计算每个类别的个数并排序取前十
top_10 = df['category'].value_counts().sort_values(ascending=False).head(10)
print(top_10)
```
这将输出每个类别的个数,并按照出现次数从大到小排序,然后取前十个值,如下所示:
```
A 3
B 3
C 1
P 1
O 1
N 1
M 1
L 1
K 1
J 1
Name: category, dtype: int64
```
这意味着类别 "A" 和 "B" 出现了 3 次,类别 "C" 仅出现了 1 次,而其余类别也仅出现了 1 次。
相关问题
pandas分类求个数后排序取前十,再转换为csv
好的,下面是实现的代码:
```python
import pandas as pd
# 读取数据
data = pd.read_csv('data.csv')
# 统计各类别数量并排序
category_counts = data['category'].value_counts().sort_values(ascending=False)[:10]
# 转换为DataFrame
result = pd.DataFrame({'category': category_counts.index, 'count': category_counts.values})
# 保存为csv文件
result.to_csv('result.csv', index=False)
```
这段代码中,我们首先使用 `pandas` 库读取了一个名为 `data.csv` 的数据文件。接着,我们对数据中的 `category` 列进行了分类统计,并按照数量排序,只保留前十个。统计结果保存在 `category_counts` 变量中。
接下来,我们将 `category_counts` 转换为一个 `DataFrame`,并将其保存为一个名为 `result.csv` 的 csv 文件。在保存时,我们使用 `index=False` 参数指定不保存行索引。
注意,实际数据中的列名和文件名可能需要根据具体情况进行修改。
pandas分类求个数
你可以使用 pandas 的 value_counts() 方法来计算分类变量的个数。例如,如果你有一个名为 "category" 的分类列,你可以使用以下代码计算每个类别的个数:
```python
import pandas as pd
# 创建一个示例 DataFrame
data = {'category': ['A', 'B', 'A', 'C', 'B', 'B', 'A']}
df = pd.DataFrame(data)
# 计算每个类别的个数
counts = df['category'].value_counts()
print(counts)
```
这将输出每个类别的个数,如下所示:
```
A 3
B 3
C 1
Name: category, dtype: int64
```
这意味着类别 "A" 出现了 3 次,类别 "B" 也出现了 3 次,而类别 "C" 仅出现了 1 次。