Выделите больше пространства "кучи" банке Java

Я нашел решение проблемы. Вместо этого можно использовать Fillna вместе с картой:

all_data['item_price'] = all_data['item_price'].fillna(
    all_data['item_id'].map(
        all_data.groupby('item_id')['item_price'].mean().compute()
    )
)

Это избавляет от проблемы дублирования осей. Помните, что вы должны использовать compute, как видно из кода внутри функции map, чтобы он работал без ошибок.

9
задан Peter Lawrey 11 April 2016 в 07:18
поделиться

4 ответа

Нет. Который' Поэтому я часто делаю файл .bat или .sh с этими параметрами и рекомендую пользователям запускать его вместо .jar. К сожалению, немного уродливо открывать окно командной строки, но с этим ничего не поделаешь.

В качестве дополнительного преимущества, если ваше приложение зависает, вы можете попросить пользователей поставить паузу в пакетный файл (или сделайте это самостоятельно), и затем вы сможете увидеть любую возникающую трассировку стека.

Редактировать: Вы также можете использовать исполняемую оболочку, такую ​​как JSmooth или Launch4J вместо командного файла. Однако вы потеряете некоторую кроссплатформенную совместимость.

если ваше приложение зависает, вы можете дать пользователям указание поместить pause в пакетный файл (или сделать это самостоятельно), а затем вы можете увидеть любую возникающую трассировку стека.

Редактировать: Вы можете также используйте исполняемый файл оболочки, например JSmooth или Launch4J вместо командного файла. Однако вы потеряете некоторую кроссплатформенную совместимость.

если ваше приложение зависает, вы можете дать пользователям указание поместить pause в пакетный файл (или сделать это самостоятельно), а затем вы можете увидеть любую возникающую трассировку стека.

Редактировать: Вы можете также используйте исполняемый файл оболочки, например JSmooth или Launch4J вместо командного файла. Однако вы потеряете некоторую кроссплатформенную совместимость.

8
ответ дан 4 December 2019 в 10:34
поделиться

Вы можете снова запустить jar с помощью Runtime.getRuntime (). Exec () с нужными вам опциями. В банке может содержаться более одного метода main () (в разных классах), и один из них можно вызвать другим с помощью exec ().

5
ответ дан 4 December 2019 в 10:34
поделиться

Вы можете использовать JSmooth или подобную оболочку, которая создает EXE-файл, который запускает JVM с необходимыми параметрами. Таким образом, вы можете избежать файла .bat и его диалогового окна консоли. Еще один способ - запустить реальную программу в новом процессе, используя Runtime.exec или ProcessBuilder.

2
ответ дан 4 December 2019 в 10:34
поделиться

Вместо двойного щелчка по файлу .jar вы можете использовать пакетный файл, который запускает java -jar -Xms -Xmx your_file.jar . С точки зрения пользователя, это то же самое, но дает вам больше контроля над командой, которая фактически выполняется.

5
ответ дан 4 December 2019 в 10:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: