考虑以下Python代码,它本质上是从pandas '用户指南的Group by: split-apply-combine章中的第一个代码插入复制的.
import pandas as pd
import numpy as np
speeds = pd.DataFrame(
data = {'class': ['bird', 'bird', 'mammal', 'mammal', 'mammal'],
'order': ['Falconiformes', 'Psittaciformes', 'Carnivora', 'Primates', 'Carnivora'],
'max_speed': [389.0, 24.0, 80.2, np.NaN, 58.0]},
index = ['falcon', 'parrot', 'lion', 'monkey', 'leopard']
)
grouped = speeds.groupby('class')['max_speed']
grouped.diff()
在Google Colab中执行时,输出是:
falcon NaN
parrot -365.0
lion NaN
monkey NaN
leopard NaN
Name: max_speed, dtype: float64
这与用户指南中显示的输出相同.
为什么与parrot
索引元素-365.0
相对应的值与本系列中的其余值一样是NaN
?