我将许多数据框合并为更大的数据框,
pd.concat(dfs, axis=0)
然后我可以不将其转储到 json
(Pdb) df.to_json()
*** ValueError: DataFrame index must be unique for orient='columns'.
我该如何解决?
答案 0 :(得分:7)
该错误表示您的数据框索引具有非唯一(重复)值。由于您似乎没有使用索引,因此可以使用以下命令创建一个新索引:
df.reset_index()
请参阅http://pandas.pydata.org/pandas-docs/stable/indexing.html#set-reset-index
答案 1 :(得分:4)
Pandas提供了不同的策略来格式化JSON中的数据。 'orient'参数有5个允许值,如下所述:Pandas IO tools documentation。 “索引”和“列”策略需要唯一索引,而其他索引则不需要。
如果您有主键可以修改DataFrame的索引,则可以使用另一种解决方案。 例如
df = df.set_index(['col1', 'col2'])
答案 2 :(得分:0)
就我而言,我的pandas DataFrame中有重复的列。我从对两列进行联接的SQL查询中读取,这是允许的,但是当您要创建JSON时会出现问题。删除列:
df = df.drop(columns="duplicate_column")
或者简单地重命名它们
df.rename(index=str, columns={"duplicate_column": "duplicate_column_2"})
在我使用SQL的情况下,最好将查询更改为不返回您要加入的重复列。
答案 3 :(得分:0)
可以尝试删除重复项。
object.onscroll = function(){myScript};
答案 4 :(得分:-1)
这对我有用:
df.to_json(orient="split")