About your dataset and primary key.
If the primary key is the ID column, then you cannot have two lines containing the same id (103). There will be a single line that would have the most recent insert. But if your dataset in correct, then you need to have a compound primary key (containing the id and some other column in order to create uniqueness).
Regarding your particular issue
You could create a secondary index on the op_type column. Then you can do a select to get the needed rows and then run the delete. This question is similar. Depending on your dataset and use cases, there are situations when creating a index is not recommended.
Also, this article on secondary indexes might prove valuable in order to understand them and to estimate the impact on your cluster.
Python
If you would like to do this on Python, I recommend starting with Datastax's Python driver for Cassandra.