I'm trying to extract the lowest number over 10 from a list of nested and unnested strings and integers for each item. I've tried a few different things but they either return nothing or a few different error messages (expected string or buffer, '>' not possible between int and list were two of them). They need to remain in order because they will be entered into a pandas data frame afterwards.
starting_list = [['4dfg', '12kfmgfg','dfgdf133'],[8, '16dgdfg'], 11, '', 'fdsf']
desired_result = [12, 16, 11, NaN, NaN]
Below are 2 of the different functions I've tried. Because the results are going into a data frame, a pandas-based answer would also be fine.
def min_int(data):
for item in range(len(data)):
for i in range(len(data[item])):
if type(data[item][i]) == int:
if data[item][i] >10:
data.remove(data[item][i])
else:
data[item][i] =int(re.sub(r'\D', "", data[item]))
if data[item][i] >10:
data.remove(data[item][i])
data[item] = min(data)
def remove_text(data):
for i in range(len(data)):
try:
for ii in range(len(data[i])):
try:
data[i][ii] =int(re.sub(r'\D', "", data[item]))
except:
continue
except:
continue
Thanks!