無効な (つまり NaN) 行が含まれている可能性がある Pandas DataFrame にファイルを読み込んでいます。これはシーケンシャル データなので、row_id+1 で row_id を参照します。frame.dropna() を使用すると、目的の構造が得られますが、インデックス ラベルは最初に割り当てられたままになります。インデックス ラベルを 0 から N-1 に再割り当てするにはどうすればよいですか。ここで、N は dropna() の後の行数です。
13767 次
2 に答える
15
を使用するpandas.DataFrame.reset_index()
と、オプションdrop=True
はあなたが探していることを行います。
In [14]: df = pd.DataFrame(np.random.randn(5,4))
In [15]: df.ix[::3] = np.nan
In [16]: df
Out[16]:
0 1 2 3
0 NaN NaN NaN NaN
1 1.895803 0.532464 1.879883 -1.802606
2 0.078928 0.053323 0.672579 -1.188414
3 NaN NaN NaN NaN
4 -0.766554 -0.419646 -0.606505 -0.162188
In [17]: df = df.dropna()
In [18]: df.reset_index(drop=True)
Out[18]:
0 1 2 3
0 1.895803 0.532464 1.879883 -1.802606
1 0.078928 0.053323 0.672579 -1.188414
2 -0.766554 -0.419646 -0.606505 -0.162188
于 2012-12-10T19:57:30.937 に答える
2
受け入れられた回答に加えて:
以下も使用する必要がありますinplace=True
。
df.reset_index(drop=True, inplace=True)
于 2021-07-23T14:53:23.440 に答える