gpt4 book ai didi

Python 和 Pandas : Re-indexing after selecing entries

转载 作者:行者123 更新时间:2023-11-30 23:08:07 24 4
gpt4 key购买 nike

在我的初始数据中,有一些有问题的数据,我不想理会它们,所以我这样做 df = df[(df['direction'] < 100) & (df['speed'] < 400)] .

但是,当我尝试访问像 df.ix[100] 这样的单个条目时,数据可能是in-accessible ,因为它在条件选择中被淘汰。所以我想重新索引数据,我该怎么做?

玩了一段时间后,我意识到最初的查询 df = df[(df['direction'] < 100) & (df['speed'] < 400)]似乎不是创建新变量而是原始数据的 View ,这让我更加困惑。

那么,查询后如何重新索引数据呢?或者我应该drop相反?

最佳答案

如果我正确理解您的问题,您可以使用 .reset_index(drop=True) 将索引重置为默认连续整数。

import pandas as pd
import numpy as np

# sample data
# ====================================
np.random.seed(0)
df = pd.DataFrame(np.random.randn(5,2), columns=list('AB'))
df

A B
0 1.7641 0.4002
1 0.9787 2.2409
2 1.8676 -0.9773
3 0.9501 -0.1514
4 -0.1032 0.4106


# ===================================
df1 = df[df['B']>0] # cannot access df1.ix[2]

A B
0 1.7641 0.4002
1 0.9787 2.2409
4 -0.1032 0.4106

df2 = df[df['B']>0].reset_index(drop=True) # df2.ix[2] works fine

A B
0 1.7641 0.4002
1 0.9787 2.2409
2 -0.1032 0.4106

关于Python 和 Pandas : Re-indexing after selecing entries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31912968/

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