Python 系列[系列]的含义是什么

Python 系列[系列]的含义是什么,python,pandas,kaggle,Python,Pandas,Kaggle,我目前正在学习一些机器学习,并使用熊猫,在其中一个例子中,他们做到了这一点 # Get list of categorical variables s = (X_train.dtypes == 'object') object_cols = list(s[s].index) print("Categorical variables:") print(object_cols) 我目前正在努力理解他们做s[s]时发生了什么。索引,s[s]怎么可能?谁能帮帮我吗。 提前谢谢 这

我目前正在学习一些机器学习,并使用熊猫,在其中一个例子中,他们做到了这一点

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

print("Categorical variables:")
print(object_cols)
我目前正在努力理解他们做s[s]时发生了什么。索引,s[s]怎么可能?谁能帮帮我吗。 提前谢谢


这是我正在阅读的内容的一个链接:

您可以根据条件对序列进行索引,例如,
myseries[myseries==4]
将返回等于
4
的元素。在本例中,如果您有一个布尔值,则这两个表达式是相同的:

myseries[myseries == True] 
myseries[myseries] 
因此,在您的示例中,您将返回
为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
的每个培训示例的索引


我个人不建议使用这种快捷方式,因为它会不必要地模糊代码,而且编写
s[s==True]
也不需要太多工作。

请阅读另一篇文章,因为您拥有的系列已经是布尔型的,它可以在自身上使用布尔型索引。我不认为有理由这样做。也许你打错了?我可以想象它是这样的:
object\u cols=X\u train[s]。index