小编N M*_*N M的帖子

如何将编译后的协议缓冲区转换回 .proto 文件?

我有一个为 python 2 编译的谷歌协议缓冲区,我正在尝试将它移植到 python 3。不幸的是,我在任何地方都找不到我用来生成编译的协议缓冲区的 proto 文件。如何恢复 proto 文件,以便我可以为 python 3 编译一个新文件。我不知道使用了哪些 proto 版本,我所拥有的只是要在 python 2.6 上运行的 .py 文件。

protocol-buffers python-3.x

6
推荐指数
1
解决办法
2057
查看次数

合并 pandas 数据框并覆盖列

以这种方式合并到 python 数据帧的最快方法是什么?我有两个具有相似结构的数据框(都有一个主键 id 和一些值列)。我想要做的是根据id合并两个数据框。有没有什么方法可以基于 pandas 操作来做到这一点?我现在的实现方式如下:

import pandas as pd

a = pd.DataFrame({'id': [1,2,3], 'letter': ['a', 'b', 'c']})
b = pd.DataFrame({'id': [1,3,4], 'letter': ['A', 'C', 'D']})
a_dict =  {e[id]: e for e in a.to_dict('record')}
b_dict =  {e[id]: e for e in b.to_dict('record')}
c_dict = a_dict.copy()
c_dict.update(b_dict)
c = pd.DataFrame(list(c.values())
Run Code Online (Sandbox Code Playgroud)

这里,c 相当于

pd.DataFrame({'id': [1,2,3,4], 'letter':['A','b', 'C', 'D']})

   id letter
0   1      A
1   2      b
2   3      C
3   4      D
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
4451
查看次数

标签 统计

pandas ×1

protocol-buffers ×1

python ×1

python-3.x ×1