当前位置: 首页 > 知识库问答 >
问题:

Pandas:索引更新和更改位置访问值

诸福
2023-03-14
import pandas as pd
import numpy as np
df = pd.DataFrame({'id' : range(1,9),
                'B' : ['one', 'one', 'two', 'three',
                       'two', 'three', 'one', 'two'],
                'amount' : np.random.randn(8)})

df = df.ix[df.B != 'three'] # remove where B = three
df.index
>>  Int64Index([0, 1, 2, 4, 6, 7], dtype=int64) # the original index is preserved.

附注。Link1和link2是我第二个问题的相关答案。不过,他们并没有回答我的问题。

共有1个答案

慕凡
2023-03-14

1)我不明白为什么在我修改数据帧后索引没有自动更新。

如果要在删除/添加行后重置索引,可以执行以下操作:

df = df[df.B != 'three'] # remove where B = three
df.reset_index(drop=True)

       B    amount  id
0    one    -1.176137    1
1    one     0.434470    2
2    two    -0.887526    3
3    two     0.126969    5
4    one     0.090442    7
5    two    -1.511353    8

索引用于标记/标记/标识行...因此,您可能会考虑将'id'列作为索引,然后您就会意识到Pandas在删除行时不会“自动更新”索引。

df.set_index('id')

       B    amount
id      
1    one    -0.410671
2    one     0.092931
3    two    -0.100324
4    three   0.322580
5    two    -0.546932
6    three  -2.018198
7    one    -0.459551
8    two     1.254597
 类似资料:
  • 问题内容: 我有一个包含密钥的二进制文件,每个密钥之后都有一个与之关联的图像。我想跳过不同的键,但是找不到任何改变输入流中索引位置的方法。我已经看到了该方法,但是它不会在不同的地方跳转。 有人知道该怎么做吗? 问题答案: 您可以使用一种方法: 跳过并丢弃此输入流中的数据字节。由于种种原因,该方法最终可能会跳过一些较小数量的字节。这可能是由多种条件引起的;在跳过字节之前到达文件末尾只是一种可能。返回

  • 本文向大家介绍Python-在Pandas DataFrame中更改列名和行索引,包括了Python-在Pandas DataFrame中更改列名和行索引的使用技巧和注意事项,需要的朋友参考一下 Pandas是一个python库,提供了许多数据分析功能,而这些功能在python标准库中是不可用的。一种这样的功能是使用数据帧。它们是代表列和行的矩形网格。在创建数据框时,我们确定列的名称,并在随后的数

  • 问题内容: 根据文档,我尝试按以下方式更新副本数 这将正确更改现有节点的副本数。但是,当logstash在第二天创建新索引时,number_of_replicas设置为旧值。 有没有一种方法可以永久更改此设置的默认值,而无需更新群集中的所有文件并重新启动服务? 我也尝试过 无济于事。 问题答案: 是的,您可以使用索引模板。索引模板是为集群中创建的新索引设置默认设置(包括映射)的好方法。 索引模板

  • 根据文档,我尝试过如下更新副本的数量 这将正确更改现有节点的副本计数。但是,当logstash在第二天创建新索引时,复制副本的数量设置为旧值。 是否有一种方法可以永久更改此设置的默认值,而无需更新所有的集群中的文件并重新启动服务? 我也试过了 没用。

  • 假设我有两组对象“Questions”和“Users”,它们共享一个关系。 什么是最好的方法索引我的对象,以允许最新的变化反映在lucene IDEX? 是否应该为用户和问题提供单独的文档,并让lucene根据需要获取所需的问题/用户详细信息? 还是,走数据传输对象的方式?当发生更改时,只需删除这些文档并重新索引?

  • 当我滚动时,我正在使用。当您滚动到底部时,它将更新数据。更新数据后。返回顶部。理想情况下,我希望保留中的职位。我该怎么做呢? InnerClass