Что лучший способ состоит в том, чтобы сериализировать данные в независимом от языка двоичном формате?

Я полагаю, что вам нужно выполнить прямое заполнение на ffill с помощью DataFrame.mask для создания пропущенных значений для всех строк, по крайней мере, с одним NaN на DataFrame.any , а затем для отфильтровывать строки с не всеми пропущенными значениями в строке по DataFrame.all :

df = df.replace(0, np.nan)

m = df.isnull()
df1 = df.mask(m.any(axis=1)).ffill()
df2 = df.mask(m.all(axis=1), df1, axis=1)
print (df2)
       18    19    20
197  14.0  28.0  14.0
198  14.0   NaN  14.0
200  14.0  28.0  14.0
201  14.0  28.0  14.0
202  15.0  23.0  12.0
203  16.0   NaN  18.0
204  15.0  23.0  12.0
205  15.0  23.0  12.0

16
задан bmdhacks 27 September 2008 в 20:46
поделиться

9 ответов

Учитывая Ваши требования, я пошел бы с Google Protocol Buffers. Это кажется, что идеально подходит для Вашего приложения.

11
ответ дан 30 November 2019 в 21:37
поделиться

Вы могли рассмотреть XDR. Это имеет RFC . Я использовал его и никогда не имел проблем производительности с ним. Это использовалось в ONC RPC и имеет и идет с инструментом, названным rpcgen. Также легко создать генератор самостоятельно, когда Вы просто хотите сериализировать данные (который является тем, что я закончил тем, что делал по причинам мобильности, взял меня половина дня). Существует реализация открытого исходного кода C, но это может уже быть в системной библиотеке, таким образом, Вам не были бы нужны источники.

ASN.1 всегда казался немного барочным мне, но в зависимости от Ваших фактических потребностей могло бы быть более соответствующим, так как существуют некоторые ограничения к XDR.

3
ответ дан 30 November 2019 в 21:37
поделиться

Просто требуемый для добавления ASN.1 в это соединение. ASN.1 является стандартом формата, но существуют библиотеки для большинства языков и интерфейс C через , asn1c является намного более чистым, чем интерфейс C для буферов протокола .

3
ответ дан 30 November 2019 в 21:37
поделиться

JSON является действительно моим фаворитом для этого вида материала. У меня нет предшествующего опыта с двоичным материалом в нем все же. Отправьте свои результаты, если Вы - планирование использования JSON!

2
ответ дан 30 November 2019 в 21:37
поделиться

Экономия является двоичным форматом, созданным Facebook. Вот сравнение с буферами протокола Google.

2
ответ дан 30 November 2019 в 21:37
поделиться

Существует также Двоичный XML, но это кажется не стабилизированным все же. Статья, с которой я связываюсь, дает набор ссылок, которые могли бы представлять интерес.

1
ответ дан 30 November 2019 в 21:37
поделиться

Выезд Гессиан

1
ответ дан 30 November 2019 в 21:37
поделиться

Другая опция SNAC/TLV, который используется AOL в, он - протокол Оскара/AIM.

1
ответ дан 30 November 2019 в 21:37
поделиться

Также выезд Мышца . В то время как это делает вполне немного, это сериализирует к двоичному формату.

1
ответ дан 30 November 2019 в 21:37
поделиться
Другие вопросы по тегам:

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