系列[系列]是什么意思

what is the meaning of series[series]

我目前正在学习一些机器学习,并使用 pandas,在其中一个示例中,他们这样做了

# Get list of categorical variables
s = (X_train.dtypes == 'object')
object_cols = list(s[s].index)

print("Categorical variables:")
print(object_cols)

我目前正在努力了解当他们 s[s].index 时发生了什么,s[s] 是怎样的甚至可能?有人可以帮助我吗? 提前致谢

这是我正在阅读的link:https://www.kaggle.com/alexisbcook/categorical-variables

您可以按条件索引系列,例如myseries[myseries == 4] 将 return 等于 4 的元素。在你的例子中,如果你有一个布尔值,这两个表达式是相同的:

myseries[myseries == True] 
myseries[myseries] 

因此,在您的示例中,您 return 所有元素的索引 True:

myseries = pd.Series([True, False, True, False])
x = myseries[myseries] # returns Series: (0, True) (2, True)
x = x.index # returns [0,2]

在您的 kaggle 示例的上下文中,这些布尔值由 s = (X_train.dtypes == 'object') 构造,即您发布的代码片段获取每个类型为 object.[=18 的训练示例的索引=]

我个人不推荐这种快捷方式,因为它会不必要地混淆代码,而且编写 s[s==True] 也不是很麻烦。