私のPandasDataFrameでは、列の1つである「naics」に311、311919、3159、331、332、332913などのNAICSコードが含まれています。
同じ2桁で始まるすべてのコードをそれらの2桁のみに置き換えたいと思います。例として、値が311、311919、3159、または31で始まる他の文字列(これらはintではなく文字列のままである必要があります)のいずれかである場合、新しい値を31にします。
私は次のバリエーションを試しました:
df.naics.loc[(df['naics'] == '^31')] = '31'
しかし、私が試したすべてのバリエーションが影響を与えるわけではありません(そしてエラーをスローしたものはありません)。
助言がありますか?
ありがとう、
ジャロッド
コードを少し変更するだけで、列がオブジェクト型の場合はastype(str)は必要ありません。
df.loc[df['naics'].astype(str).str[:2] == '31', 'naics'] = '31'
naics
0 31
1 31
2 31
3 331
4 332
5 332913
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加