我有一個 PandaSeries,其索引代表特定組和分配給它的值data = pd.Series(data=[12875.30, 12561.31, 12654.38, 13091.60, 13062.22, 13345.32], index=['A1','A2','B1','B2','C1','C2'])dataA1 12875.30A2 12561.31B1 12654.38B2 13091.60C1 13062.22C2 13345.32我想要實現的是保存 B1、B2、C1 和 C2 索引的數據,并使用 .filter 方法刪除其他所有內容。下面的代碼有效,但僅限于每次傳遞 1 個屬性的情況:new_data = data.filter(like='B', axis=0) new_data = data.filter(like='C', axis=0)問題是如何使用 or | 將這兩行合并為一行。操作員?我嘗試了很多選擇,例如:new_data = data.filter(like=('B' | 'C'), axis=0) new_data = data.filter((like='B') | (like='C'), axis=0) new_data = (data.filter(like='B', axis=0)) | (data.filter(like='C', axis=0))new_data = ((data.filter(like='B', axis=0)) | (data.filter(like='C', axis=0)))但我想出的一切都會導致錯誤。將不勝感激任何幫助。謝謝你!
1 回答

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
您可以嘗試使用正則表達式:
data.filter(regex='B|C', axis=0)
輸出
B1 12654.38
B2 13091.60
C1 13062.22
C2 13345.32
添加回答
舉報
0/150
提交
取消