Jan-06-2023, 10:53 PM
I've attached an image further detailing what I'm trying to achieve.
The following is what I came up with; but I'm confident it can be done much simpler with built pandas modules. I'm hoping I won't have to resort to nested 4 loops.
The following is the code I used in the python interpreter:
The following is what I came up with; but I'm confident it can be done much simpler with built pandas modules. I'm hoping I won't have to resort to nested 4 loops.
The following is the code I used in the python interpreter:
nestDict = { 'A': {'Entity 1': 2, 'Entity 2': 1, 'Entity 3': 2}, 'B': {'Entity 1': 4, 'Entity 2': 6, 'Entity 3': 3}, 'C': {'Entity 1': 5, 'Entity 2': 8, 'Entity 3': 4} } frame1 = pd.DataFrame(nestDict) dict1 = { 'Squared' : 'x**2', 'Sqrt' : 'round(math.sqrt(x), 2)', 'isPrime' : 'is_Prime_Function(x)' } series1 = pd.Series(dict1) def is_Prime_Function(n): if n == 1: return 0 for i in range(2,n): if (n%i) == 0: return 0 return 1 frame1_sqrd = frame1.applymap(lambda x:eval(series1['Squared'])) frame1_sqrt = frame1.applymap(lambda x:eval(series1['Sqrt'])) frame1_isPrime = frame1.applymap(lambda x:eval(series1['isPrime'])) # Use nested for loop to retrieve each row from the evaluated frames make results 'readable' from 1 single 'cartesian-like' dataframe.This is the best or closes I've gotten to getting what I'm looking for.
def triple_Evaluation(x): return pd.Series([x**2, round(math.sqrt(x), 2), is_Prime_Function(x)], index=['Squared','Sqrt','Is Prime']) frame1.iloc[[0]].append(frame1.iloc[0].apply(triple_Evaluation).T)