InvalidIndexError: Reindexing only valid with uniquely valued Index objects when using pd.to_datetime on non NAN values
InvalidIndexError: Reindexing only valid with uniquely valued Index objects when using pd.to_datetime on non NAN values
我有一个 df
,其中包含订单数据:
date order_id cost category
2021-07-12 10 50 A
2021-07-12 10 57 B
2021-08-15 15 76 C
2022-01-11 5 67 C
实际上我有大约 40 列,当我尝试 运行:
时出现错误
df.date = pd.to_datetime(df.date)
InvalidIndexError: Reindexing only valid with uniquely valued Index objects
我读过很多答案,大多数人说这与 NaN
值或重复列有关。所以我检查了:
sum(df.date.isna())
# 0
len(df.columns) == len(set(df.columns))
# True
所以我没有 'NaN' 值,也没有重复项。另一件奇怪的事情是,如果我关闭 VSCode 并重新启动所有内容,有时同一数据集不会出现此错误,那么是否存在某种错误?这次我多次尝试重新启动一切,但错误仍然存在。
我检查了这个答案和其他答案:
并尝试了 df = df.reset_index()
但没有帮助。所以我被卡住了,无法找到这个错误的原因,这看起来真的很奇怪。
更新
我试过df['date'] = pd.to_datetime(df['date'])
,returns同样的错误。
我检查了以下内容:
{type(x) for x in df.date}
# {datetime.date, pandas._libs.tslibs.timestamps.Timestamp, str}
这可能是问题所在。
您可以将值转换为字符串:
df['date'] = pd.to_datetime(df['date'].astype(str))
我有一个 df
,其中包含订单数据:
date order_id cost category
2021-07-12 10 50 A
2021-07-12 10 57 B
2021-08-15 15 76 C
2022-01-11 5 67 C
实际上我有大约 40 列,当我尝试 运行:
时出现错误df.date = pd.to_datetime(df.date)
InvalidIndexError: Reindexing only valid with uniquely valued Index objects
我读过很多答案,大多数人说这与 NaN
值或重复列有关。所以我检查了:
sum(df.date.isna())
# 0
len(df.columns) == len(set(df.columns))
# True
所以我没有 'NaN' 值,也没有重复项。另一件奇怪的事情是,如果我关闭 VSCode 并重新启动所有内容,有时同一数据集不会出现此错误,那么是否存在某种错误?这次我多次尝试重新启动一切,但错误仍然存在。
我检查了这个答案和其他答案:
df = df.reset_index()
但没有帮助。所以我被卡住了,无法找到这个错误的原因,这看起来真的很奇怪。
更新
我试过df['date'] = pd.to_datetime(df['date'])
,returns同样的错误。
我检查了以下内容:
{type(x) for x in df.date}
# {datetime.date, pandas._libs.tslibs.timestamps.Timestamp, str}
这可能是问题所在。
您可以将值转换为字符串:
df['date'] = pd.to_datetime(df['date'].astype(str))