You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何显示pandas分组统计全量结果?解决输出省略及报错问题

问题:如何显示Pandas分组统计的全量结果

我需要展示全量数据,用value_counts()统计每个Title下不同Rating的数量,预期输出格式如下:

Title                   Rating
$1,000,000 Duck (1971)  3          15
                        2           8
                        4           7
                        5           4
                        1           3 
eXistenZ (1999)         4         142
                        3         109
                        2          61
                        5          55
                        1          43
Sliding Doors (1998)    4         211
                        3         121
                        5         115
                        2          32
                        1          11

执行以下代码后,统计功能正常,但输出被省略(显示...):

dataall.groupby('Title')['Rating'].value_counts()

输出示例:

Title                   Rating
$1,000,000 Duck (1971)  3          15
                        2           8
                        4           7
                        5           4
                        1           3
                                 ... 
eXistenZ (1999)         4         142
                        3         109
                        2          61
                        5          55
                        1          43

尝试用set_option('max_rows', None)解决时,出现报错:

AttributeError: 'DataFrame' object has no attribute 'set_option'

全屏查看输出仍有省略号,完整代码如下:

from google.colab import drive
drive.mount('/content/drive')

from pandas import *
from matplotlib.pyplot import *
from math import *

import numpy as num
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
%matplotlib inline

import seaborn as sns

import statistics

movies = pd.read_table("/content/drive/MyDrive/Colab Notebooks/Datasets/movies.dat",sep="::",names=['MovieID','Title','Genres'],encoding='latin-1')
ratings = pd.read_table("/content/drive/MyDrive/Colab Notebooks/Datasets/ratings.dat",sep="::",names=['UserID','MovieID','Rating','Time'],encoding='latin-1')
users = pd.read_table("/content/drive/MyDrive/Colab Notebooks/Datasets/users1.dat",sep="::",names=['UserID','Gender','Age','Occupation','ZipCode'],encoding='latin-1')

allData = pd.merge(pd.merge(movies, ratings, on="MovieID"), users, on="UserID")
dataall = allData[allData.columns[1:11]]
dataall.groupby('Title')['Rating'].value_counts()

解决方案

1. 纠正set_option的使用方式

set_option是Pandas库的全局配置方法,不能直接调用DataFrame对象的这个方法。正确写法是:

import pandas as pd
# 设置显示所有行
pd.set_option('display.max_rows', None)
# 可选:设置显示所有列,避免列截断
pd.set_option('display.max_columns', None)

把这段代码放在数据读取之前,就能让Pandas输出全量数据,不再用...省略。

2. 转换为DataFrame确保全量显示

如果设置全局配置后仍有问题,可以把分组统计的Series结果转换为DataFrame,再输出:

# 执行统计并转换为DataFrame
result = dataall.groupby('Title')['Rating'].value_counts().reset_index(name='Count')
# 直接打印或在Colab中显示
print(result)
# 或者用Colab的display方法
display(result)

3. Colab专属优化(可选)

在Colab中可以额外设置输出宽度,避免列内容被换行截断:

pd.set_option('display.width', 1000)

内容的提问来源于stack exchange,提问作者Migs Panganiban

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:53:13