I wish did fix the issue. I have a dataframe that contains a list of values in each rows of dataframe. I want to check some conditions and based on that condition i want to subset a dataframe. For example in belove code myDF is my dataframe. That is , is that what you want?
With these it helps After several attempts, I managed to achieve my goal. Here is the code:
# assume dataframe exists
df = ...
# initiliaze an array of False, matching df number of rows
resulting_bools = numpy.zeros((1, len(df.index)), dtype=bool)
for col in list_cols:
# obtain array of booleans for given column and boolean condition for [row, column] value
criterion = df[col].map(lambda x: x < 0) # same condition for each column, different conditions would have been more difficult (for me)
# perform cumulative boolean evaluation accross columns
resulting_bools |= criterion
# use the array of booleans to build the required df
negative_values_matches = df[ resulting_bools].copy() # use .copy() to avoid further possible warnings from Pandas depending on what you do with your data frame
positive_values_matches = df[~resulting_bools].copy()
Delete rows of Dataframe based on multiple conditions from different Dataframe
With these it helps df1.loc[(df1['date']==dayA)& (df1['location']==placeA)] is the dataframe consisting of rows where the date and location match. drop is expecting the index where they match. So you need df1.loc[(df1['date']==dayA)& (df1['location']==placeA)].index. However, this is a very inefficient method. You can use merge instead as the other answers discuss. Another method would be df1 = df1.loc[~df1[['date','location']].apply(tuple,axis=1).isin(zip(df2.date,df2.location))].
How to extract rows of a pandas dataframe according to conditions based on another dataframe