1. ホーム
  2. python

[解決済み] pandasのデータフレームでNaNを含む行の整数インデックスを探す

2022-10-17 15:44:57

質問

このようなpandasのDataFrameがあります。

                    a         b
2011-01-01 00:00:00 1.883381  -0.416629
2011-01-01 01:00:00 0.149948  -1.782170
2011-01-01 02:00:00 -0.407604 0.314168
2011-01-01 03:00:00 1.452354  NaN
2011-01-01 04:00:00 -1.224869 -0.947457
2011-01-01 05:00:00 0.498326  0.070416
2011-01-01 06:00:00 0.401665  NaN
2011-01-01 07:00:00 -0.019766 0.533641
2011-01-01 08:00:00 -1.101303 -1.408561
2011-01-01 09:00:00 1.671795  -0.764629

NaNを持つ行の"integer"インデックスを見つけるための効率的な方法はありますか?この場合、望ましい出力は次のようになります。 [3, 6] .

どのように解決するのですか?

DataFrameの場合 df :

import numpy as np
index = df['b'].index[df['b'].apply(np.isnan)]

を返すと MultiIndex に戻るインデックスに使用することができます。 df に戻ってインデックスを付けることができます。

df['a'].ix[index[0]]
>>> 1.452354

整数のインデックス用。

df_index = df.index.values.tolist()
[df_index.index(i) for i in index]
>>> [3, 6]