7

各測定タイプが異なる深さの範囲をカバーするボアホールからの地下測定を扱っています。この場合、深度が指標として使用されています。

各測定タイプのデータ (非 NaN 値) の最初および/または最後の出現の深さ (インデックス) を見つける必要があります。

データフレームの最初または最後の行の深さ (インデックス) を取得するのは簡単です:df.index[0]またはdf.index[-1]. トリックは、特定の列の最初または最後の非 NaN オカレンスのインデックスを見つけることです。

df = pd.DataFrame([[500, np.NaN, np.NaN,     25],
                   [501, np.NaN, np.NaN,     27],
                   [502, np.NaN,     33,     24],
                   [503,      4,     32,     18],
                   [504,     12,     45,      5],
                   [505,      8,     38, np.NaN]])
df.columns = ['Depth','x1','x2','x3']
df.set_index('Depth')

ここに画像の説明を入力

理想的なソリューションは、x1 の最初の出現に対して 503、x2 の最初の出現に対して 502、および x3 の最後の出現に対して 504 のインデックス (深さ) を生成します。

4

4 に答える 4