Python 为什么pd.crosstab不起作用?

Python 为什么pd.crosstab不起作用?,python,pandas,crosstab,Python,Pandas,Crosstab,数据来源于《Python用于数据分析》一书,chp 8,条形图 tips = pd.read_csv('ch8/tips.csv') party_counts = pd.crosstab(tips.day,tips.size) 当我运行上述代码时,我发现我无法得到书中显示的结果 In [70]: party_counts Out[70]: size 1 2 3 4 5 6 day Fri 1 16 1 1 0 0 Sat 2 53 18 13 1 0 Sun 0 39 15 18 3 1 Th

数据来源于《Python用于数据分析》一书,chp 8,条形图

tips = pd.read_csv('ch8/tips.csv')
party_counts = pd.crosstab(tips.day,tips.size)
当我运行上述代码时,我发现我无法得到书中显示的结果

In [70]: party_counts
Out[70]:
size 1 2 3 4 5 6
day
Fri 1 16 1 1 0 0
Sat 2 53 18 13 1 0
Sun 0 39 15 18 3 1
Thur 1 48 4 5 1 3
我的结果是

In[36]: party_counts
Out[36]: 
col_0  1708
day        
Fri      19
Sat      87
Sun      76
Thur     62
我测试小费的类型

In[49]: tips.dtypes
Out[49]: 
total_bill    float64
tip           float64
sex            object
smoker         object
day            object
time           object
size            int64
dtype: object
虽然我发现这也有一列是int,但它可以得到交叉表结果

那么,我有什么问题吗? ps,我的pandas版本是“0.20.2”,python 3.6

大小是数据帧的一个属性,用于从中获取元素数,如果您有大小列,则需要使用
['size']
以避免混淆:

pd.crosstab(tips.day, tips['size'])
size是数据框的一个属性,用于从中获取元素数,如果您有size列,则需要使用
['size']
以避免混淆:

pd.crosstab(tips.day, tips['size'])