Python 为什么这段代码在我的pandas数据帧中产生一个NaN?

Python 为什么这段代码在我的pandas数据帧中产生一个NaN?,python,pandas,Python,Pandas,我想写一些代码来预测一个运动季的结果。 我有一个带有int32 Year列的数据框,一个列出球队名称的object Team列,一个带有体育场容量的int32 Capacity列,以及一个带有给定年份每场比赛平均出勤率的int32 Attention/G列。数据中没有以前的NAN 这行代码完全覆盖了给定年份之前球队名称的体育场容量 train.loc[(train.Year < 2009) & (train.Team == 'NYM'), 'Capacity'] = 57333

我想写一些代码来预测一个运动季的结果。 我有一个带有int32 Year列的数据框,一个列出球队名称的object Team列,一个带有体育场容量的int32 Capacity列,以及一个带有给定年份每场比赛平均出勤率的int32 Attention/G列。数据中没有以前的NAN

这行代码完全覆盖了给定年份之前球队名称的体育场容量

train.loc[(train.Year < 2009) & (train.Team == 'NYM'), 'Capacity'] = 57333
而第二个调用输出

Attend/G        360 non-null int32
Capacity        355 non-null float64
Team            360 non-null object
Year            360 non-null int32
使用与第一行代码格式相同的变量覆盖体育场容量将生成PHI容量的NaN,并将数据帧中的其他容量从INT转换为浮点


有人知道为什么会这样吗

在某些情况下使用熊猫,例如从CSV读取时
pd.read_CSV(na_values=“?”)
您可以检查您的数据,如下所示:

dataset.isna().sum()

如果您的数据在原始文档中包含NaN,这可能会带来反馈

可能是原始数据集中缺少数据,或者甚至类似于“?”不,所有数据都绝对存在表示格式良好?请将
df.info()
的输出粘贴到问题的此处。
Attend/G        360 non-null int32
Capacity        355 non-null float64
Team            360 non-null object
Year            360 non-null int32
dataset.isna().sum()