ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series

In most cases, this error comes when you return an empty dataframe. The best approach that worked for me was to check if the dataframe is empty first before using apply()

if len(df) !=  0:
    df['indicator'] = df.apply(assign_indicator, axis=1)

You have a column of ragged lists. Your only option is to assign a list of lists, and not an array of lists (which is what .value gives).

class_df['phone'] = group['phone'].tolist()

The error of the Question-Headline

"ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series"

might as well occur if for what ever reason the table does not have any rows.

Tags:

Python