8
在将DatFrame设置为redis之后,从它获取,redis返回一个字符串,并且我无法找出将此str转换为DataFrame的方法,那么如何适当地执行这两个操作?谢谢。如何设置/从redis中获取pandas.DataFrame?
在将DatFrame设置为redis之后,从它获取,redis返回一个字符串,并且我无法找出将此str转换为DataFrame的方法,那么如何适当地执行这两个操作?谢谢。如何设置/从redis中获取pandas.DataFrame?
集:
redisConn.set("key", df.to_msgpack(compress='zlib'))
得到:
pd.read_msgpack(redisConn.get("key"))
我不能使用msgpack因为在我的数据帧Decimal
对象。这一翻译我结合咸菜和zlib这样在一起,假设数据帧df
和Redis的本地实例:
import pickle
import redis
import zlib
EXPIRATION_SECONDS = 600
r = redis.StrictRedis(host='localhost', port=6379, db=0)
# Set
r.setex("key", EXPIRATION_SECONDS, zlib.compress(pickle.dumps(df)))
# Get
rehydrated_df = pickle.loads(zlib.decompress(r.get("key")))
有没有什么什么数据帧具体谈谈这一点。
注意事项
msgpack
对方的回答是更好的 - 使用它,如果你的作品
在使用Redis之前使用序列化,从Redis读取时使用反序列化。 –