私はpandas documentationなどstackoverflowに「combine_first()」という関数を見つけることができました。これはほんの数例の論理的な例でうまくいく。私は以下のように "combine_first()"関数を複数回(この場合は6)組み合わせて動作させることができました。誰かがより洗練されたソリューションを見つけるのを助けることができますか?
作成された変数 "category_id"の結果には、最後の変数(category_id7)で始まり最初の値に上がる最初の欠損値が含まれている必要があります。 category_id(x)が設定されている場合、category_idはその値を取り、データフレーム内のすべての行の処理を停止する必要があります。
d={'category_id1':[32991,32991,32991,32991,32991],
'category_id2':[22,22,22,22,22],
'category_id3':[33058,51,121,120,32438],
'category_id4':[np.nan,np.nan,np.nan,np.nan,np.nan],
'category_id5':[np.nan,np.nan,np.nan,np.nan,np.nan],
'category_id6':[np.nan,np.nan,np.nan,np.nan,np.nan],
'category_id7':[np.nan,np.nan,np.nan,np.nan,np.nan]
}
df=pd.DataFrame(data=d)
df['category_id']=df.category_id7.combine_first(df.category_id6).combine_first(df.category_id5).combine_first(df.category_id4).combine_first(df.category_id3).combine_first(df.category_id2).combine_first(df.category_id1)
print(df)
私はすべての機能を完全に理解していませんが、完璧に機能します。とても有難い! – Kyle