Вопросы по тегу: python

(614)

Каковы аргументы «уровни», «ключи» и имена для функции concat Pandas?

Вопросы Как использовать pd.concat? Для чего нужен аргумент levels? Для чего нужен аргумент keys? Есть ли куча примеров, которые помогут объяснить, как использовать все аргументы? ФункцияPandas concat является швейцарским армейским ножом объединенных утилит. Разнообразие ситуаций, в которых это полезно, многочисленно. Существующая документация упускает некоторые подробности о некоторых необязательных аргументах. Среди них аргументы levels и keys. Я решил выяснить, что делают эти аргументы.Я задам вопрос, который послужит воротами во многие аспекты pd.concat.Рассмотрите кадры данных d1, d2и d3:import pandas as pd d1 = pd.DataFrame(dict(A=.1, B=.2, C=.3), [2, 3]) d2 = pd.DataFrame(dict(B=.4, C=.5, D=.6), [1, 2]) d3 = pd.DataFrame(dict(A=.7, B=.8, D=.9), [1, 3]) Если бы я объединил их вместе сpd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3']) Я получаю ожидаемый результат с pandas.MultiIndex для моего объекта columns: A B C D d1 2 0.1 0.2 0.3 NaN 3 0.1 0.2 0.3 NaN d2 1 NaN 0.4 0.5 0.6 2 NaN 0.4 0.5 0.6 d3 1 0.7 0.8 NaN 0.9 3 0.7 0.8 NaN 0.9 Однако я хотел использовать уровни документацию по аргументам: levels: список последовательностей, по умолчанию нет. Конкретные уровни (уникальные значения), используемые для построения MultiIndex. В противном случае они будут выводиться из ключей. Так я прошелpd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3'], levels=[['d1', 'd2']]) И получите KeyError ValueError: ключ d3 не находится на уровне Index(['d1', 'd2'], dtype='object') Это имело смысл. Уровни, которые я прошел, были недостаточны для описания необходимых уровней, обозначенных клавишами. Если бы я ничего не прошел, как я сделал выше, уровни выводятся (как указано в документации). Но как еще я могу использовать этот аргумент для большего эффекта?Если бы я попробовал это вместо этого:pd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3'], levels=[['d1', 'd2', 'd3']]) I и получил те же результаты, что и выше. Но когда я добавляю еще одно значение к уровням,df = pd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3'], levels=[['d1', 'd2', 'd3', 'd4']]) В итоге я получаю такой же фрейм данных, но результирующий MultiIndex имеет неиспользуемый уровень.df.index.levels[0] Index(['d1', 'd2', 'd3', 'd4'], dtype='object') Так в чем смысл аргумента уровень и должен ли я использовать ключи по-другому?Я использую Python 3.6 и Pandas 0.22.
p

piRSquared

4 года назад

Ответов: 1

selenium - исполняемый файл chromedriver должен находиться в PATH

Сообщение об ошибке: исполняемый файл chromedriver должен находиться в PATH Я пытался закодировать скрипт с использованием селена в pycharm, однако произошла ошибка, описанная выше.Я уже связал свой селен с pycharm, как показано здесь (свежий и актуальный).Я новичок в селене, в папке «селен» нет хромированного драйвера. Если нет, то где его найти и добавить в путь?Кстати, я пытался ввести "chromedriver" в cmd, однако это не было распознано как внутренняя или внешняя команда.ошибка показана ниже:Traceback (most recent call last): File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 64, in start stdout=self.log_file, stderr=self.log_file) File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 947, in __init__ restore_signals, start_new_session) File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 1224, in _execute_child startupinfo) PermissionError: [WinError 5] Permission denied During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:/Users/sebastian/PycharmProjects/web/bot.py", line 10, in browser = webdriver.Chrome("C:/Users/sebastian/desktop/selenium-3.0.1") File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 62, in __init__ self.service.start() File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'selenium-3.0.1' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home Exception ignored in: > Traceback (most recent call last): File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 163, in __del__ self.stop() File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 135, in stop if self.process is None: AttributeError: 'Service' object has no attribute 'process'
S

Sebastian Nielsen

5 лет назад

Ответов: 7

Почему any (True for... if cond) намного быстрее, чем any (cond for...)?

Два похожих способа проверить, содержит ли список нечетное число:any(x % 2 for x in a) any(True for x in a if x % 2) Результаты хронометража с a = [0] * 10000000 (по пять попыток, время в секундах):0,60 0,60 0,60 0,61 0,63 любое (x % 2 для x в a) 0,36 0,36 0,36 0,37 0,37 любой (Истинно для x в a, если x % 2) Почему второй способ почти вдвое быстрее?Мой тестовый код:from timeit import repeat setup = 'a = [0] * 10000000' expressions = [ 'any(x % 2 for x in a)', 'any(True for x in a if x % 2)', ] for expression in expressions: times = sorted(repeat(expression, setup, number=1)) print(*('%.2f ' % t for t in times), expression) Попробуй онлайн!
n

no comment

5 месяцев назад

Ответов: 5

Python – преобразовать массив байтов в формат JSON

Я хочу проанализировать строку bytes в формате JSON, чтобы преобразовать ее в объекты python. Вот исходник, который у меня есть:my_bytes_value = b'[{\'Date\': \'2016-05-21T21:35:40Z\', \'CreationDate\': \'2012-05-05\', \'LogoType\': \'png\', \'Ref\': 164611595, \'Classe\': [\'Email addresses\', \'Passwords\'],\'Link\':\'http://some_link.com\'}]' И это желаемый результат, который я хочу получить:[{ "Date": "2016-05-21T21:35:40Z", "CreationDate": "2012-05-05", "LogoType": "png", "Ref": 164611595, "Classes": [ "Email addresses", "Passwords" ], "Link": "http://some_link.com"}] Сначала я преобразовал байты в строку:my_new_string_value = my_bytes_value.decode("utf-8") , но когда я пытаюсь вызвать loads, чтобы разобрать его как JSON:my_json = json.loads(my_new_string_value) Я получаю эту ошибку:json.decoder.JSONDecodeError: Expecting value: line 1 column 174 (char 173)
M

Merouane Benthameur

5 лет назад

Ответов: 4

Установите только доступные пакеты, используя «conda install --yes --file requirements.txt» без ошибок

При установке пакетов в файле requirements.txt с использованием Conda с помощью следующей командыconda install --yes --file requirements.txt Если пакет в файле requirements.txt недоступен, выдается сообщение «Ошибка отсутствия пакета», подобное показанному ниже: Использование API-сайта Anaconda Cloud https://api.anaconda.org Извлечение метаданных пакета: .... Ошибка: пакеты не найдены в текущих каналах linux-64, соответствующих: nimfa == 1.2.3 Вы можете найти этот пакет на anaconda.org с поиск анаконды -t conda nimfa ==1.2.3 Вместо того, чтобы выдавать ошибку, можно ли изменить это поведение таким образом, чтобы оно устанавливало все доступные пакеты в файле requirements.txt и выдавало предупреждение для тех, которые недоступны?Я хотел бы это, потому что пакет nimfa, который, как говорит ошибка, недоступен, может быть установлен pip. Поэтому, если я могу изменить поведение conda install --yes --file requirements.txt, чтобы просто выдавать предупреждение о недоступных пакетах, я могу выполнить это с помощью команды pip install -r requirments .txt в .travis.yml, поэтому TravisCI попытается установить его из любого доступного места.
c

cdeepakroy

6 лет назад

Ответов: 4

Как применить отсечение градиента в TensorFlow?

С учетом пример кода.Я хотел бы знать, как применить отсечение градиента в этой сети на RNN, где существует возможность взрыва градиентов.tf.clip_by_value(t, clip_value_min, clip_value_max, name=None) Это пример, который можно использовать, но где его представить? В деф. RNN lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0) # Split data because rnn cell needs a list of inputs for the RNN inner loop _X = tf.split(0, n_steps, _X) # n_steps tf.clip_by_value(_X, -1, 1, name=None) Но это не имеет смысла, так как тензор _X является входом, а не градиентом, что нужно обрезать?Должен ли я определить свой собственный оптимизатор для этого или есть более простой вариант?
A

Arsenal Fanatic

6 лет назад

Ответов: 7

ValueError: не удалось транслировать входной массив из формы (224 224,3) в форму (224 224)

У меня есть список, скажем, temp_list со следующими свойствами: len(temp_list) = 9260 temp_list[0].shape = (224,224,3) Теперь, когда я конвертирую в массив numpy, x = np.array(temp_list) Я получаю сообщение об ошибке: ValueError: could not broadcast input array from shape (224,224,3) into shape (224,224) Кто-нибудь может мне помочь?
n

neel

5 лет назад

Ответов: 9

LogisticRegression: неизвестный тип метки: «непрерывный» с использованием sklearn в python

У меня есть следующий код для тестирования некоторых из самых популярных алгоритмов машинного обучения библиотеки Python sklearn:import numpy as np from sklearn import metrics, svm from sklearn.linear_model import LinearRegression from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.naive_bayes import GaussianNB from sklearn.svm import SVC trainingData = np.array([ [2.3, 4.3, 2.5], [1.3, 5.2, 5.2], [3.3, 2.9, 0.8], [3.1, 4.3, 4.0] ]) trainingScores = np.array( [3.4, 7.5, 4.5, 1.6] ) predictionData = np.array([ [2.5, 2.4, 2.7], [2.7, 3.2, 1.2] ]) clf = LinearRegression() clf.fit(trainingData, trainingScores) print("LinearRegression") print(clf.predict(predictionData)) clf = svm.SVR() clf.fit(trainingData, trainingScores) print("SVR") print(clf.predict(predictionData)) clf = LogisticRegression() clf.fit(trainingData, trainingScores) print("LogisticRegression") print(clf.predict(predictionData)) clf = DecisionTreeClassifier() clf.fit(trainingData, trainingScores) print("DecisionTreeClassifier") print(clf.predict(predictionData)) clf = KNeighborsClassifier() clf.fit(trainingData, trainingScores) print("KNeighborsClassifier") print(clf.predict(predictionData)) clf = LinearDiscriminantAnalysis() clf.fit(trainingData, trainingScores) print("LinearDiscriminantAnalysis") print(clf.predict(predictionData)) clf = GaussianNB() clf.fit(trainingData, trainingScores) print("GaussianNB") print(clf.predict(predictionData)) clf = SVC() clf.fit(trainingData, trainingScores) print("SVC") print(clf.predict(predictionData)) Первые два работают нормально, но я получил следующую ошибку в вызове LogisticRegression:root@ubupc1:/home/ouhma# python stack.py LinearRegression [ 15.72023529 6.46666667] SVR [ 3.95570063 4.23426243] Traceback (most recent call last): File "stack.py", line 28, in clf.fit(trainingData, trainingScores) File "/usr/local/lib/python2.7/dist-packages/sklearn/linear_model/logistic.py", line 1174, in fit check_classification_targets(y) File "/usr/local/lib/python2.7/dist-packages/sklearn/utils/multiclass.py", line 172, in check_classification_targets raise ValueError("Unknown label type: %r" % y_type) ValueError: Unknown label type: 'continuous' Вводные данные такие же, как и в предыдущих вызовах, так что же здесь происходит?И кстати, почему существует огромная разница в первом прогнозе алгоритмов LinearRegression() и SVR() (15.72 vs 3.95)?
m

mllamazares

5 лет назад

Ответов: 3

Как импортировать текстовый файл на AWS S3 в pandas без записи на диск

У меня есть текстовый файл, сохраненный на S3, который представляет собой таблицу с разделителями табуляции. Я хочу загрузить его в pandas, но не могу сначала сохранить, потому что я работаю на сервере heroku. Вот что у меня есть на данный момент.import io import boto3 import os import pandas as pd os.environ["AWS_ACCESS_KEY_ID"] = "xxxxxxxx" os.environ["AWS_SECRET_ACCESS_KEY"] = "xxxxxxxx" s3_client = boto3.client('s3') response = s3_client.get_object(Bucket="my_bucket",Key="filename.txt") file = response["Body"] pd.read_csv(file, header=14, delimiter="\t", low_memory=False) ошибкаOSError: Expected file path name or file-like object, got type Как преобразовать тело ответа в формат, который примет панда?pd.read_csv(io.StringIO(file), header=14, delimiter="\t", low_memory=False) returns TypeError: initial_value must be str or None, not StreamingBody pd.read_csv(io.BytesIO(file), header=14, delimiter="\t", low_memory=False) returns TypeError: 'StreamingBody' does not support the buffer interface ОБНОВЛЕНИЕ - Использование следующего сработалоfile = response["Body"].read() и pd.read_csv(io.BytesIO(file), header=14, delimiter="\t", low_memory=False)
a

alpalalpal

6 лет назад

Ответов: 9

Ошибка установки Pycharm/Python OpenCV и CV2

Я пытался установить OpenCV и cv2 как из Pycharm, так и из терминала, как было предложено, используя:pip install --user opencv pip install --user cv2 но я получаю для них следующую ошибку:Collecting opencv Could not find a version that satisfies the requirement opencv (from versions: ) No matching distribution found for opencv иCollecting cv2 Could not find a version that satisfies the requirement cv2 (from versions: ) No matching distribution found for cv2 Как исправить это и правильно установить пакеты? Я использую питон 3.4.
S

Sibi

6 лет назад

Ответов: 20

Питонские запросы. 403 Запрещено

Мне нужно было разобрать сайт, но я получил ошибку 403 Forbidden. Вот код:url = 'http://worldagnetwork.com/' result = requests.get(url) print(result.content.decode()) Вывод: 403 Forbidden 403 Forbidden nginx Подскажите, пожалуйста, в чем проблема.
Т

Толкачёв Иван

6 лет назад

Ответов: 3

Тип Pythonic намекает на панд?

Возьмем простую функцию, которая принимает строку str и возвращает кадр данных:import pandas as pd def csv_to_df(path): return pd.read_csv(path, skiprows=1, sep='\t', comment='#') Какой рекомендуемый питонический способ добавления подсказок типа к этой функции?Если я запрашиваю у python тип DataFrame, он возвращает pandas.core.frame.DataFrame. Однако следующее не будет работать, так как оно скажет мне, что панды не определены. def csv_to_df(path: str) -> pandas.core.frame.DataFrame: return pd.read_csv(path, skiprows=1, sep='\t', comment='#')
d

dangom

5 лет назад

Ответов: 5

Разница между open и io.BytesIO в бинарных потоках

Я изучаю работу с потоками в Python и заметил, что документы ввода-вывода говорят следующее: Самый простой способ создать бинарный поток — использовать open() с 'b' в строке режима: f = открыть("myfile.jpg", "rb") Двоичные потоки в памяти также доступны как объекты BytesIO: f = io.BytesIO(b"некоторые исходные двоичные данные: \x00\x01") В чем разница между f согласно определению open и f согласно определению BytesIO. Другими словами, что создает «двоичный поток в памяти» и чем он отличается от того, что делает open?
L

Luke Whyte

5 лет назад

Ответов: 2

Преобразование строки pyspark в формат даты

У меня есть датафрейм данных pyspark со строковым столбцом в формате MM-dd-yyyy, и я пытаюсь преобразовать его в столбец даты.Пробовал:df.select(to_date(df.STRING_COLUMN).alias('new_date')).show() И я получаю строку нулей. Кто-нибудь может помочь?
J

Jenks

6 лет назад

Ответов: 6

Каков самый питонический способ проверить, не являются ли несколько переменных None?

Если у меня есть такая конструкция:def foo(): a=None b=None c=None #...loop over a config file or command line options... if a is not None and b is not None and c is not None: doSomething(a,b,c) else: print "A config parameter is missing..." Какой предпочтительный синтаксис в python для проверки того, установлены ли для всех переменных полезные значения? Это так, как я написал, или по-другому?Это отличается от этого вопроса: not None test в Python ... Я ищу предпочтительный метод для проверки того, что многие условия не равны None. Вариант, который я набрал, кажется очень длинным и не питоническим.
E

Eyelash

5 лет назад

Ответов: 5

Что означает «модуль тестов неправильно импортирован»?

Я скопировал рабочий тест построчно и просто изменил несколько имен (по крайней мере, так я думал), и теперь я получаю очень загадочную ошибку: (Я заменил некоторые вещи на FOO, BAR)ImportError: 'tests' module incorrectly imported from 'FOO/exports/tests'. Expected 'FOO/exports'. Is this module globally installed? Проблема в том, что я вообще не понимаю ошибки. Что означает это сообщение об ошибке?Полная трассировка стека:Traceback (most recent call last): File "BAR/modeling/manage.py", line 10, in execute_from_command_line(sys.argv) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line utility.execute() File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/core/management/commands/test.py", line 30, in run_from_argv super(Command, self).run_from_argv(argv) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv self.execute(*args, **cmd_options) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/core/management/commands/test.py", line 74, in execute super(Command, self).execute(*args, **options) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute output = self.handle(*args, **options) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/core/management/commands/test.py", line 90, in handle failures = test_runner.run_tests(test_labels) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/test/runner.py", line 531, in run_tests suite = self.build_suite(test_labels, extra_tests) File "/Users/jonathan/anaconda/lib/python2.7/site-packages/django/test/runner.py", line 451, in build_suite tests = self.test_loader.discover(start_dir=label, **kwargs) File "/Users/jonathan/anaconda/lib/python2.7/unittest/loader.py", line 206, in discover tests = list(self._find_tests(start_dir, pattern)) File "/Users/jonathan/anaconda/lib/python2.7/unittest/loader.py", line 267, in _find_tests raise ImportError(msg % (mod_name, module_dir, expected_dir)) ImportError: 'tests' module incorrectly imported from 'FOO/exports/tests'. Expected 'FOO/exports'. Is this module globally installed?
j

jonalv

6 лет назад

Ответов: 8

Как изменить фон редактора Spyder на темный?

Я только что обновил Spyder до версии 3.1, и у меня возникли проблемы с изменением цветовой схемы на темную. Я смог изменить консоль Python и iPython на темную, но возможность изменить редактор на темную не там, где я ожидал. Кто-нибудь может сказать мне, как изменить цветовую схему редактора Spyder 3.1 на темную?
C

CiaranWelsh

5 лет назад

Ответов: 18

Как установить PIP на Python 3.6?

Я пытаюсь установить PIP для python 3.6 и просматривал YouTube в поисках руководств, но все они кажутся устаревшими, и ни один из них не работает. Любая информация будет полезна, чтобы я мог продолжить свой проект.
b

bradley plater

5 лет назад

Ответов: 13

Создайте файл, если он не существует

Я пытаюсь открыть файл, и если файл не существует, мне нужно его создать и открыть для записи. У меня пока так:#open file for reading fn = input("Enter file to open: ") fh = open(fn,'r') # if file does not exist, create it if (!fh) fh = open ( fh, "w") Сообщение об ошибке говорит о наличии проблемы в строке if(!fh). Могу ли я использовать exist как в Perl?
M

Miguel Hernandez

6 лет назад

Ответов: 9

Как обновить пип3?

Я хочу использовать python3.5 для разработки в основном, но много раз, когда я устанавливал модуль для python 3.5, он всегда терпел неудачу. И терминал сказал мне, что доступна более высокая версия, она не работала, когда я обновлял ее.
E

EdgarX

5 лет назад

Ответов: 12

Что заставляет [*a] перераспределять ресурсы?

Очевидно, что list(a) не имеет перерасхода, [x вместо x в a] перерасход в некоторых точках и [*a] перерасход * 100008*все время?Вот размеры n от 0 до 12 и результирующие размеры в байтах для трех методов:0 56 56 56 1 64 88 88 2 72 88 96 3 80 88 104 4 88 88 112 5 96 120 120 6 104 120 128 7 112 120 136 8 120 120 152 9 128 184 184 10 136 184 192 11 144 184 200 12 152 184 208 Рассчитано следующим образом, воспроизводится в repl.it, с использованием Python 3.8:from sys import getsizeof for n in range(13): a = [None] * n print(n, getsizeof(list(a)), getsizeof([x for x in a]), getsizeof([*a])) Итак: Как это работает? Как происходит перераспределение [*a]? На самом деле, какой механизм он использует для создания списка результатов из заданного ввода? Использует ли он итератор для a и что-то вроде list.append? Где исходный код?(Colab с данными и кодом, создавшим изображения.)Увеличение до меньшего n:Увеличение масштаба n:
S

Stefan Pochmann

2 года назад

Ответов: 3

Как получить поэлементное матричное умножение (произведение Адамара) в numpy?

У меня две матрицы a = np.matrix([[1,2], [3,4]]) b = np.matrix([[5,6], [7,8]]) и я хочу получить поэлементное произведение [[1*5,2*6], [3*7,4*8]], равное [[5,12], [21,32]]Я пыталсяprint(np.dot(a,b)) иprint(a*b) но оба дают результат[[19 22], [43 50]]— матричный продукт, а не поэлементный. Как я могу получить поэлементный продукт (он же продукт Адамара) с помощью встроенных функций?
M

Malintha

5 лет назад

Ответов: 4

ImportError: libGL.so.1: невозможно открыть общий объектный файл: нет такого файла или каталога

Я пытаюсь запустить cv2, но когда пытаюсь его импортировать, получаю следующую ошибку:ImportError: libGL.so.1: невозможно открыть общий объектный файл: нет такого файла или каталогаПредлагаемое онлайн-решение устанавливаетсяподходящая установка libgl1-mesa-glxно это уже установлена ​​последняя версия.NB: на самом деле я запускаю это в Docker и не могу проверить версию OpenCV. Я попытался импортировать matplotlib, и он импортируется нормально.
R

Ryan

3 года назад

Ответов: 11

Ведение журнала Python — отключить ведение журнала из импортированных модулей

Я использую модуль ведения журнала Python и хотел бы отключить сообщения журнала, выводимые сторонними модулями, которые я импортирую. Например, я использую что-то вроде следующего:logger = logging.getLogger() logger.setLevel(level=logging.DEBUG) fh = logging.StreamHandler() fh_formatter = logging.Formatter('%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s') fh.setFormatter(fh_formatter) logger.addHandler(fh) Это распечатывает мои отладочные сообщения, когда я делаю logger.debug("my message!"), но также распечатывает отладочные сообщения из любого модуля, который я импортирую (например, запросы и ряд других вещей).Я хочу видеть сообщения журнала только из интересующих меня модулей. Можно ли заставить модуль ведения журнала делать это?В идеале я хотел бы указать регистратору печатать сообщения из «ModuleX, ModuleY» и игнорировать все остальные.Я посмотрел на следующее, но я не хочу отключать/включать ведение журнала перед каждым вызовом импортированной функции: loging - как игнорировать импортированные журналы модулей?
b

blindsnowmobile

6 лет назад

Ответов: 10

UndefinedMetricWarning: F-оценка плохо определена и установлена ​​​​на 0,0 в метках без прогнозируемых выборок.

Я получаю странную ошибку:classification.py:1113: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples. 'precision', 'predicted', average, warn_for)` , но затем он также печатает f-оценку при первом запуске: metrics.f1_score(y_test, y_pred, average='weighted') Второй раз, когда я запускаю, он выдает оценку без ошибок. Почему?>>> y_pred = test.predict(X_test) >>> y_test array([ 1, 10, 35, 9, 7, 29, 26, 3, 8, 23, 39, 11, 20, 2, 5, 23, 28, 30, 32, 18, 5, 34, 4, 25, 12, 24, 13, 21, 38, 19, 33, 33, 16, 20, 18, 27, 39, 20, 37, 17, 31, 29, 36, 7, 6, 24, 37, 22, 30, 0, 22, 11, 35, 30, 31, 14, 32, 21, 34, 38, 5, 11, 10, 6, 1, 14, 12, 36, 25, 8, 30, 3, 12, 7, 4, 10, 15, 12, 34, 25, 26, 29, 14, 37, 23, 12, 19, 19, 3, 2, 31, 30, 11, 2, 24, 19, 27, 22, 13, 6, 18, 20, 6, 34, 33, 2, 37, 17, 30, 24, 2, 36, 9, 36, 19, 33, 35, 0, 4, 1]) >>> y_pred array([ 1, 10, 35, 7, 7, 29, 26, 3, 8, 23, 39, 11, 20, 4, 5, 23, 28, 30, 32, 18, 5, 39, 4, 25, 0, 24, 13, 21, 38, 19, 33, 33, 16, 20, 18, 27, 39, 20, 37, 17, 31, 29, 36, 7, 6, 24, 37, 22, 30, 0, 22, 11, 35, 30, 31, 14, 32, 21, 34, 38, 5, 11, 10, 6, 1, 14, 30, 36, 25, 8, 30, 3, 12, 7, 4, 10, 15, 12, 4, 22, 26, 29, 14, 37, 23, 12, 19, 19, 3, 25, 31, 30, 11, 25, 24, 19, 27, 22, 13, 6, 18, 20, 6, 39, 33, 9, 37, 17, 30, 24, 9, 36, 39, 36, 19, 33, 35, 0, 4, 1]) >>> metrics.f1_score(y_test, y_pred, average='weighted') C:\Users\Michael\Miniconda3\envs\snowflakes\lib\site-packages\sklearn\metrics\classification.py:1113: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples. 'precision', 'predicted', average, warn_for) 0.87282051282051276 >>> metrics.f1_score(y_test, y_pred, average='weighted') 0.87282051282051276 >>> metrics.f1_score(y_test, y_pred, average='weighted') 0.87282051282051276 Кроме того, почему в конце сообщения об ошибке 'точность', 'прогнозируется', среднее значение, warn_for)? Здесь нет открывающей скобки, так почему же она заканчивается закрывающей скобкой? Я запускаю sklearn 0.18.1 с использованием Python 3.6.0 в среде conda в Windows 10.Я также посмотрел здесь и не знаю, та же ли это ошибка. Этот сообщение SO тоже не имеет решения.
S

Sticky

5 лет назад

Ответов: 6

Numpy изменить размер/изменить масштаб изображения

Я хотел бы взять изображение и изменить масштаб изображения, пока это пустой массив.Например, у меня есть изображение бутылки кока-колы: бутылка-1Что переводится в массив numpy формы (528, 203, 3), и я хочу изменить его размер, чтобы сказать размер этого второго изображения: бутылка-2Имеет вид (140, 54, 3).Как изменить размер изображения на определенную форму, сохранив при этом исходное изображение? Другие ответы предлагают удалить каждую вторую или третью строку, но я хочу в основном уменьшить изображение, как вы бы сделали это с помощью редактора изображений, но в коде Python. Есть ли какие-нибудь библиотеки для этого в numpy/SciPy?
B

Brian Hamill

4 года назад

Ответов: 10

Почему `if None.__eq__("a")` оценивается как True (но не совсем)?

Если вы выполните следующий оператор в Python 3.7, он (из моего тестирования) напечатает b:if None.__eq__("a"): print("b") Однако Нет.__eq__("a") оценивается как Нереализовано.Естественно, "a".__eq__("a") оценивается как True, а "b".__eq__("a") оценивается какЛожь.Первоначально я обнаружил это при тестировании возвращаемого значения функции, но во втором случае ничего не возвращал -- поэтому функция возвращала Нет.Что здесь происходит?
T

The AI Architect

3 года назад

Ответов: 4

Блокнот Jupyter не является доверенным

Я использую Anaconda для работы с блокнотом Jupyter, на котором отображается сообщение «Не доверено» (см. скриншот ниже).Что это значит? Это проблема? Как я могу это решить?
C

Clément F

5 лет назад

Ответов: 5

Python обновляет ключ в dict, если он не существует

Я хочу вставить пару ключ-значение в dict, если ключ отсутствует в dict.keys(). В принципе, я мог бы сделать это с помощью:if key not in d.keys(): d[key] = value Но есть ли лучший способ? Или какое питоническое решение этой проблемы?
X

Xiaochen Cui

5 лет назад

Ответов: 4

Имитация клиентского метода boto3 S3 Python

Я пытаюсь имитировать единственный метод из клиентского объекта boto3 s3, чтобы вызвать исключение. Но мне нужно, чтобы все остальные методы этого класса работали нормально.Это сделано для того, чтобы я мог протестировать отдельный тест исключения, когда возникает ошибка при выполнении upload_part_copy1-я попыткаimport boto3 from mock import patch with patch('botocore.client.S3.upload_part_copy', side_effect=Exception('Error Uploading')) as mock: client = boto3.client('s3') # Should return actual result o = client.get_object(Bucket='my-bucket', Key='my-key') # Should return mocked exception e = client.upload_part_copy() Однако это дает следующую ошибку:ImportError: No module named S3 2-я попыткаПосмотрев исходный код botocore.client.py, я обнаружил, что он делает что-то умное, а метод upload_part_copy не существует. Я обнаружил, что вместо этого он вызывает BaseClient._make_api_call, поэтому я попытался издеваться над этимimport boto3 from mock import patch with patch('botocore.client.BaseClient._make_api_call', side_effect=Exception('Error Uploading')) as mock: client = boto3.client('s3') # Should return actual result o = client.get_object(Bucket='my-bucket', Key='my-key') # Should return mocked exception e = client.upload_part_copy() Это вызывает исключение... но на get_object которого я хочу избежать.Есть идеи о том, как я могу создать исключение только для метода upload_part_copy?
p

ptimson

6 лет назад

Ответов: 7

2022 WebDevInsider