我想知道當我將值從數字重新標記為字符串時,是否有辦法跳過字符串:s = pd.Series(np.arange(1,100,1))我想做的是從樣本數據中獲取第一個和第二個標準差:s = s.where((s <= s.std() *1) & (s >= s.std() *-1), "1_StDev", errors="ignore")
s = s.where((s <= s.std() *2) & (s >= s.std() *-2), "2_StDev", errors="ignore")但盡管將錯誤參數設置為 ,我的代碼似乎仍然返回錯誤"ignore"。另外,我想知道pd.cut這里是否可行。如果是這樣,請教我如何做。
1 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
在這里,您可以使用np.select
conditions = [(s <= s.std() *1) & (s >= s.std() *-1),
(s <= s.std() *2) & (s >= s.std() *-2)]
choices = ["1_StDev", "2_StDev"]
s = pd.Series(np.select(conditions, choices))
對于條件不匹配的值,最好按照 @Chris 建議設置默認值。
s = pd.Series(np.select(conditions, choices, default=s))
添加回答
舉報
0/150
提交
取消