gpt4 book ai didi

python - 关于 pd.dataframe.reset_index() 中 drop=True 的问题

转载 作者:行者123 更新时间:2023-12-01 08:00:44 27 4
gpt4 key购买 nike

在 Pandas 数据框中,可以使用 reset_index() 方法重置索引。一个可选参数是 drop=True ,根据文档:

drop : bool, default False
Do not try to insert index into dataframe columns.
This resets the index to the default integer index.

我的问题是,第一句话是什么意思?如果我离开 if False,它会尝试将整数索引转换为我的 df 中的新列吗?

此外,我的行顺序会被保留还是我还应该进行排序以确保正确的顺序?

最佳答案

如下所示,df.reset_index() 会将索引作为列移动到数据帧中。如果索引只是一个通用的数字索引,您可能不关心它并且可以丢弃它。下面是一个简单的数据框,但我删除了第一行只是为了在索引中具有不同的值。

df = pd.DataFrame([['a', 10], ['b', 20], ['c', 30], ['d', 40]], columns=['letter','number'])
df = df[df.number > 10]
print(df)
# letter number
# 1 b 20
# 2 c 30
# 3 d 40

默认行为现在显示名为 index 的列,它是以前的索引。您可以看到 df['index'] 与上面的索引匹配,但索引已从 0 开始重新编号。

print(df.reset_index())
# index letter number
# 0 1 b 20
# 1 2 c 30
# 2 3 d 40

drop=True 不会假装索引很重要,只是为您提供一个新索引。

print(df.reset_index(drop=True))
# letter number
# 0 b 20
# 1 c 30
# 2 d 40

关于行顺序,我怀疑它会被保留,但通常不应该依赖存储内容的顺序。如果您正在执行聚合函数,您可能需要确保为聚合正确排序了数据。

关于python - 关于 pd.dataframe.reset_index() 中 drop=True 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55746957/

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