ValueError: Can only compare identically-labeled Series objects
ValueError: Can only compare identically-labeled Series objects
这是我的代码,无论我做什么,我总是收到错误并遵循所有与索引相关的解决方案,有人可以帮助我吗?
site = pd.read_csv('../data/survey_site.csv')
sampled = site.sample(n=1)
site = site.reset_index(drop=True)
sampled = sampled.reset_index(drop=True)
mask = site.mask(site['name'] == sampled['name'])
问题是 site['name']
和 sample['name']
之间的比较是在两个 pd.Series
之间进行的。您可以通过将其中之一设为标量来绕过它。但是,我注意到您使用了长度 1
的 sample
。我怀疑您认为当您取 sample['name']
时它会是一个标量值。但它是一个长度的系列。所以你只需要 make 是一个标量。
选项 1
mask = site.mask(site['name'] == sampled['name'].squeeze())
选项 2
mask = site.mask(site['name'] == sampled.loc[0, 'name'])
这是我的代码,无论我做什么,我总是收到错误并遵循所有与索引相关的解决方案,有人可以帮助我吗?
site = pd.read_csv('../data/survey_site.csv')
sampled = site.sample(n=1)
site = site.reset_index(drop=True)
sampled = sampled.reset_index(drop=True)
mask = site.mask(site['name'] == sampled['name'])
问题是 site['name']
和 sample['name']
之间的比较是在两个 pd.Series
之间进行的。您可以通过将其中之一设为标量来绕过它。但是,我注意到您使用了长度 1
的 sample
。我怀疑您认为当您取 sample['name']
时它会是一个标量值。但它是一个长度的系列。所以你只需要 make 是一个标量。
选项 1
mask = site.mask(site['name'] == sampled['name'].squeeze())
选项 2
mask = site.mask(site['name'] == sampled.loc[0, 'name'])