假设我有以下示例:
import pandas as pd
In [11]: df = pd.DataFrame(data=[0.0], index=pd.TimedeltaIndex([250], unit='d'))
In [12]: df.to_json(orient='split', date_format='iso')
Out[12]: '{"columns":[0],"index":["1970-09-08T00:00:00.000Z"],"data":[[0.0]]}'
In [13]:
如您所见,我想将pandas数据帧转换为json格式。不幸的是,我找不到如何将索引转换为所需输出的方法。在这种情况下,索引应为250天。如果我在python中打印df,这就是我所看到的:
df
Out[13]:
0
250 days 0.0
In [14]:
有没有办法实现这一点,即我可以重建数据框以获得正确的索引。
答案 0 :(得分:-1)
您可以将类似['days']的列添加到数据框:
df['days'] = df.index.days
然后df.to_json()将只有一个名为“days”的密钥,其天数。
或者,如果您希望索引说“250天”,只需强制转换为str:
df.index = df.index.astype(str)
df.to_json(orient='split', date_format='iso')
的结果将是:
'{"columns":[0,"days"],"index":["250 days"],"data":[[0.0,250]]}'