gpt4 book ai didi

python - 解决 Reindexing only valid with uniquely valued Index objects

转载 作者:太空宇宙 更新时间:2023-11-03 13:00:58 33 4
gpt4 key购买 nike

我已经查看了很多出现此错误的问题。我正在运行 Pandas “0.10.1”

df = DataFrame({'A' : np.random.randn(5),
'B' : np.random.randn(5),'C' : np.random.randn(5),
'D':['a','b','c','d','e'] })

#gives error
df.take([2,0,1,2,3], axis=1).drop(['C'],axis=1)

#works fine
df.take([2,0,1,2,1], axis=1).drop(['C'],axis=1)

我唯一能看到的是,在前一种情况下,我有非数字列,这似乎以某种方式影响了索引,但下面的命令返回空值:

df.take([2,0,1,2,3], axis=1).index.get_duplicates()

Reindexing error makes no sense似乎不适用,因为我的旧索引是唯一的。

据我所知,使用此问答中的 df.take([2,0,1,2,3], axis=1).index.get_duplicates() 命令,我的索引看起来是独一无二的:problems with reindexing dataframes: Reindexing only valid with uniquely valued Index objects

"Reindexing only valid with uniquely valued Index objects"似乎不适用

我认为我的 pandas version# 没问题,所以这应该不是问题 pandas Reindexing only valid with uniquely valued Index objects

最佳答案

首先,我相信您打算使用以下命令测试重复项:

df.take([2,0,1,2,3],axis=1).columns.get_duplicates()

因为如果您使用索引而不是列,那么它显然会返回一个空数组,因为随机浮点值不会重复。上面的命令按预期返回:

['C']

其次,我认为你是对的,非数字列被扔掉了,因为即使你使用下面的,仍然有错误:

df = DataFrame({'A' : np.random.randn(5), 'B' : np.random.randn(5),'C' :np.random.randn(5), 'D':[str(x) for x in np.random.randn(5) ]})

这可能是一个错误,因为如果您检查名为“index.py”的核心文件,在第 86 行和第 1228 行,它期望的类型是(分别):

_engine_type = _index.ObjectEngine


_engine_type = _index.Int64Engine

如果您更深入地查看文档,那么它们似乎都不需要字符串。这是我得到的最好的,祝你好运!如果您解决了这个问题,请告诉我,因为我也很感兴趣。

关于python - 解决 Reindexing only valid with uniquely valued Index objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21533706/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com