Random Forest - ValueError: Input contains NaN, infinity or a value too large for dtype('float32') I'm trying to apply the RandomForest method to a dataset and I get this error:

ValueError: Input contains NaN, infinity or a value too large for dtype ('float32')

Could someone tell me what I can modify in the function for the code to work:

def ranks_RF(x_train, y_train, features_train, RESULT_PATH='Results'):
    """Get ranks from Random Forest"""

    print("\nMétodo_Random_Forest")

    random_forest = RandomForestRegressor(n_estimators=10)
    np.nan_to_num(x_train)
    np.nan_to_num(y_train)
    random_forest.fit(x_train, y_train)

    # Get rank by doing two times a sort.
    imp_array = np.array(random_forest.feature_importances_)
    imp_order = imp_array.argsort()
    ranks = imp_order.argsort()

    # Plot Random Forest
    imp = pd.Series(random_forest.feature_importances_, index=x_train.columns)
    imp = imp.sort_values()

    imp.plot(kind="barh")
    plt.xlabel("Importance")
    plt.ylabel("Features")
    plt.title("Feature importance using Random Forest")
    # plt.show()
    plt.savefig(RESULT_PATH + '/ranks_RF.png', bbox_inches='tight')

    return ranks
You should imput missing data in your dataset, or delete thos rows if they are not many. 

Alternatively, if the values are too big to be represented by float32 datatype, try to convert them to float64 (takes more RAM).