我正在尝试进行shapiro测试:
stats.shapiro(dataframe_iris_new['sepalWidth'][dataframe_iris_new['target']])
我对以上代码的工作方式感到困惑。
答案 0 :(得分:0)
当您执行dataframe ['columnA']时,它将仅返回该列,因此应引发错误。您可以将输出粘贴到这里吗?
答案 1 :(得分:0)
假设您有一个这样的系列:
> s = pd.Series({
2: 'Alan',
4: 'Mary',
6: 'Sophie',
8: 'Jack'
})
2 Alan
4 Mary
6 Sophie
8 Jack
dtype: object
您可以按单个标签或标签列表对其进行切片:
> s[[2]]
2 Alan
dtype: object
> s[[6,2]]
6 Sophie
2 Alan
您还可以使用它分割一个布尔列表:
> s[[False, True, True, False]]
4 Mary
6 Sophie
dtype: object
那么这如何适合您的问题?
dataframe_iris_new['sepalWidth']
返回一个序列(我们称之为s
)dataframe_iris_new['target']
再次推出另一个系列(我们称其为t
) s[t]
是切片操作:根据s
中的值切割t
:
t
是标签列表,它将在s
中提取匹配的标签t
是布尔列表,它将选择t
的值为True的项目。这还要求s
和t
的长度相同。