我希望将一个pandas数据框作为参数传递给celery任务。有没有办法实现这一点?我了解到数据框对象不是JSON可序列化的,因此无法根据我的当前设置用作参数。
看起来我可以使用 pandas.Dataframe.to_json()
方法将给定的数据框转换为 JSON 格式。一旦我将 JSON 值传递给我的 celery 任务,我就可以使用 pd.read_json()
方法来获取我的 pandas.Dataframe
对象。
[1] https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_json.html
[2] https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_json.html
to_json
对我不起作用,它自动将字符串解析为日期时间,导致我的结果无效。
我正在尝试序列化和反序列化celery结果,所以需要类似的方法。to_dict
对我有效。
df_as_dict = df.to_dict()
df = pd.DataFrame.from_dict(df_as_dict)