我曾经使用以下方法在 Redis 之间存储和读取 pandas DataFrame:
放:
redisConn.set("key", df.to_msgpack(compress='zlib'))
Run Code Online (Sandbox Code Playgroud)
得到:
pd.read_msgpack(redisConn.get("key"))
Run Code Online (Sandbox Code Playgroud)
但to_msgpack自 pandas 0.25 起已弃用,pyarrow改为使用。现在在 2.0.0 https://arrow.apache.org/blog/2020/10/22/2.0.0-release/pyarrow中弃用序列化/反序列化(如如何向/从 Redis 设置/获取 pandas.DataFrame中所示) ?)
有人知道新的推荐方式是什么吗?
编辑:我正在使用当前稳定的 pandas 版本 1.2.4
使用
dd = {'ID': ['H576','H577','H578','H600', 'H700'],
'CD': ['AAAAAAA', 'BBBBB', 'CCCCCC','DDDDDD', 'EEEEEEE']}
df = pd.DataFrame(dd)
Run Code Online (Sandbox Code Playgroud)
在Pandas 0.25之前,这在下面起作用。
set: redisConn.set("key", df.to_msgpack(compress='zlib'))
get: pd.read_msgpack(redisConn.get("key"))
Run Code Online (Sandbox Code Playgroud)
现在,已弃用警告。
FutureWarning: to_msgpack is deprecated and will be removed in a future version.
It is recommended to use pyarrow for on-the-wire transmission of pandas objects.
The read_msgpack is deprecated and will be removed in a future version.
It is recommended to use pyarrow for on-the-wire transmission of pandas objects.
Run Code Online (Sandbox Code Playgroud)
罂粟如何运作?而且,我如何使pyarrow对象进出Redis。