以下の内容はhttps://paper.hatenadiary.jp/entry/2017/01/03/042119より取得しました。


python, pandas.DataFrameにてapply内部のlambda式でtry, exceptを行う

結論から言うとできないそうです。 もっとも利用するのは DataFrame形式にapplyを使ってデータを変換する時だと思います、自分だけかもしれないですが。

コード

とっさに作った例ですが、データに含まれる文字列の index[0] ~ index[1] 部分を intで変換するケース。 たまに nullが入っているとかで失敗します。(fillnaでもいいか)

try and catch部分

# lambda 式内部に try を記述できないため一旦外部に定義し直す
def try_convert_val(value, indexs):
    try:
        return int(value[indexs[0]:indexs[1]])
    except:
        return -1

変換部分

data["column_name"].apply(lambda x:try_convert_val(x, [0, 4]))

最後に

あけましておめでとうございます。




以上の内容はhttps://paper.hatenadiary.jp/entry/2017/01/03/042119より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14