How to subset a dataframe based on some conditions over the rows of dataframe that contains list in r
Date : March 29 2020, 07:55 AM
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? myDF$Value_filtered <- lapply(seq(myDF$Value), function(i) myDF$Value[[i]][which(myDF$Value[[i]] %in% vec)])
|
Combine 1-row dataframe and n-rows dataframe, by duplicating the 1-row and append to n-rows dataframe
Tag : python , By : francisco santos
Date : March 29 2020, 07:55 AM
I wish this help you Use cross join with merge + assign + drop - this solution can be used if want combine multiple rows in d1: df = pd.merge(d1.assign(A=1), d2.assign(A=1), on='A').drop('A', 1)
print (df)
Name Age Subject Grade
0 Alice 18 Science A
1 Alice 18 Math C
2 Alice 18 English B
df = pd.concat([d1.reindex(d2.index, method='ffill'), d2], axis=1)
print (df)
Name Age Subject Grade
0 Alice 18 Science A
1 Alice 18 Math C
2 Alice 18 English B
|
Pandas DataFrame: programmatic rows split of a dataframe on multiple columns conditions
Date : October 18 2020, 08:10 AM
With these it helps After several attempts, I managed to achieve my goal. Here is the code: import Pandas
import numpy
# 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
Date : March 29 2020, 07:55 AM
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
Date : March 29 2020, 07:55 AM
around this issue I have these two dataframes : , Try this: df1[df1['Points'].isin(df2.query('0 <= Sum <= 2')['Points'])]
Points ColX
4 5 5
|