TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #241 · 5 мај

Можно ли в Python создавать бинарные файлы? Конечно можно. Для этого в Python есть следующие инструменты: ▫️ тип данных bytes и bytearray ▫️ открытие файла в режиме wb (write binary) или rb (read binary) ▫️ модуль struct Про модуль struct поговорим в первую очередь. Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных. В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла. Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла. Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид. Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки). Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение. При этом следует помнить что мы говорим о типах языка С а не Python. Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще. Вот какие токены формата у нас есть. Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы. В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты. Запакуем в байты простое число, токен "i". >>> import struct >>> struct.pack('=i', 10) b'\n\x00\x00\x00' Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов. >>> struct.pack('=fff', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же. >>> struct.pack('=3f', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Теперь запакуем разные типы >>> data = struct.pack('=fiQ', 1.0, 4, 100500) я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт) b'\x00\x00\x80?\x04\x00\x00...' Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа. >>> struct.unpack('=fiQ', data) (1.0, 4, 100500) Как видите, ничего страшного! #lib#basic

Hashtags

Резултати

Пронајдени 7 слични објави

Пребарај: #datasets

当前筛选 #datasets清除筛选
О городах и данных

@datainthecity · Post #138 · 29.12.2022 г., 09:36

47.8 миллионов километров дорог распознано в картах Bing и выложено Microsoft онлайн в виде открытых данных под лицензией ODbl [1]. В данных совсем нет Китая, Японии, Кореи, Папуа Новая-Гвинея. Но Россия есть, и обитаемая зона её не так велика как географическая. Все данные в формате TSV, сжатый объём около 10GB. Ссылки։ [1] https://github.com/microsoft/RoadDetections #opendata#datasets#microsoft

Город на карте

@geomapers · Post #564 · 07.04.2026 г., 12:34

В рубрике как это устроено у них могу сказать что для меня открытие этого года в том сколько спешно-успешно распространяются сервисы для доступа к геоданным на базе спецификации STAC (SpatioTemporal Asset Catalogs). Я как раз обновляю реестр каталогов данных Dateno и у меня сервисов поддерживающих спецификацию STAC накопилось уже 168. Скорее будет больше. При этом изначально я их классифицировал как отдельное ПО, потому что большая часть сервисов были на базе референсных реализаций, а правильнее классифицировать как протокол, а ПО определять иначе. Например, после появления расширения STAC для Geoserver (ПО с открытым кодом для создания OGC совместимых API, используется по всему миру) Особенность спецификации STAC в том что из нее сложно преобразовывать в другие спецификации и отсюда сложность в индексации в Dateno. То что обычно называют датасетом в STAC называется каталогом, в рамках этого каталога публикуются ресурсы охватывающие территорию заданную этим каталогом, но в разные промежутки времени (еженедельно, ежедневно, ежечасно и тд). В результате внутри одного набора данных могут быть тысячи и миллионы файлов. Рассматривать ресурсы как отдельные наборы данных будет некорректно, а как отображать карточки с таким числом файлов непонятно. И, кстати, перечень каталогов STAC сервисов на StacIndex неполон, у нас в реестре Dateno полнее будет, а в живой природе их сильно больше потому что, как я упоминал, он теперь поддерживается расширением GeoServer'а, а этих инсталляций в мире очень много. P.S. Кстати, у Роскосмоса тоже есть открытый STAC каталог, с декларируемыми примерно 200ТБ данными. Явление необычное при нынешнем тренде в РФ на закрытость. #opendata#geodata#datasets

Город на карте

@geomapers · Post #450 · 30.09.2025 г., 13:00

GlobalBuildingAtlas набор данных по всем зданиям в мире, общим объёмом в 36 терабайт. Опубликован в апреле 2025 г. , доступен для полной выгрузки и как сервис WFS. Под лицензией CC-BY-NC 3.0 (свободное использование для некоммерческих целей) #opendata#datasets#geodata

Город на карте

@geomapers · Post #316 · 23.04.2025 г., 06:09

Ещё одна важная находка, оказывается облачные LLM'ки вполне неплохо научились восстанавливать данные из графиков. Причём в разных формах и разных стилях. Это даёт довольно существенные возможности по превращению PDF отчетов и презентаций в таблицы с данными. Слишком многие данные вот таким образом закопаны в официальных отчётах. А теперь можно их "выковыривать" гораздо более универсальными способами. #data#datasets#llm

Город на карте

@geomapers · Post #72 · 19.08.2024 г., 09:48

В рубрике интересных проектов на данныхGeoSeer [1], поисковая система по геоданным, а конкретнее по точкам API по стандартам WFS, WMC, WCS по всему миру. Я писал о нём год назад [2] и в течение года ни раз обращал внимание. Из интересного: 1. 3.5 миллиона проиндексированных георесурсов/геоданных 2. За деньги доступно API для поиска 3. Любопытная статистика по охвату [3] 4. Дают расширенное описание георесурсов с учётом его геохарактеристик (области, атрибутов WFC/WMS и др.) [4] Из особенностей: - более 60%, примерно 2 миллиона записей - это геоданные Германии. Для сравнения в Dateno 4.4 миллиона георесурсов из которых к Германии относятся 1.89, это около 43%. - реестр источников не публикуют, вернее обещают доступность только через API при платном тарифе - фасетного поиска нет, только достаточно простой язык запросов - поскольку индексируются WMS, WFC, WCS и WMTS то охватывает гораздо больше точек подключения в этих стандартах, но не охватывает все остальные геоданные, на порталах открытых данных и в каталогах ArcGIS и не только. Разницу между GeoSeer и Dateno можно описать так: 1. ✅В Dateno есть публичный реестр всех источников, он не скрывается, любой желающий может скачать его как датасет [4]. 2. ✅В Dateno есть много открытой статистики [5]. Она пока мало визуализируется, но с ней можно работать. 3. ✅В Dateno есть быстрый фасетный поиск и фильтрация по странам/территориям и другим критериям 4. ✅Dateno агрегирует геоданные из порталов неохваченных GeoSeer поскольку они не по стандартам OGC. 5. ❌Пока в Dateno нет охвата любых источников геоданным по стандартам OGC 6. ❌Пока в Dateno нет расширенного вывода метаданных для георесурсов В целом пересечение индексов GeoSeer и Dateno в части геоданных около 60-80%. GeoSeer для проекта выглядит как хороший референсный проект для проверки полноты собственной базы. Ссылки: [1] https://www.geoseer.net [2] https://t.me/begtin/5071 [3] https://www.geoseer.net/stats/ [4] https://github.com/commondataio/dataportals-registry/ [5] https://github.com/commondataio/dateno-stats #opendata#datasearch#datasets#geodata#spatial

djangoproject

@djangoproject · Post #153 · 03.09.2016 г., 20:20

http://wla.berkeley.edu/~cs61a/fa11/lectures/streams.html In this chapter, we continue our discussion of real-world applications by developing new tools to process #sequential#data. In Chapter 2, we introduced a sequence interface, implemented in Python by built-in data types such as #tuple and #list. #Sequences supported two operations: querying their length and accessing an element by index. In Chapter 3, we developed a user-defined implementations of the sequence interface, the Rlist class for representing recursive lists. These sequence types proved effective for representing and accessing a wide variety of sequential #datasets.

GitHub Trends

@githubtrending · Post #14661 · 02.05.2025 г., 11:30

#typescript#ai#analytics#datasets#dspy#evaluation#gpt#llm#llmops#low_code#observability#openai#prompt_engineering LangWatch helps you monitor, test, and improve AI applications by tracking performance, comparing different setups, and optimizing prompts automatically. It works with any AI tool or framework, keeps your data secure, and lets you collaborate with experts to fix issues quickly, making your AI more reliable and efficient. https://github.com/langwatch/langwatch