現在の値の最初の文字に基づいて新しい値をデータフレーム列にマップする方法はありますか?pandas:最初の文字に基づいて新しい値をマップする
私の現在のコード:
ncesvars['urbantype'] = np.where(ncesvars['urbantype'].str.startswith('1'), 'city', ncesvars['urbantype'])
ncesvars['urbantype'] = np.where(ncesvars['urbantype'].str.startswith('2'), 'suburban', ncesvars['urbantype'])
ncesvars['urbantype'] = np.where(ncesvars['urbantype'].str.startswith('3'), 'town', ncesvars['urbantype'])
ncesvars['urbantype'] = np.where(ncesvars['urbantype'].str.startswith('4'), 'rural', ncesvars['urbantype'])
私は.str.startswith()
入力していただきありがとうございます。 @ ayhanの答えと比較して、 'df.loc'の部分が重要ですか? – As3adTintin
はい、データがあなたのdictキーと一致する行だけに影響を与えたいので、そうでなければ 'NaN'でその行を上書きします。これが最後の行が変更されていない理由です – EdChum
ahhhありがとう! – As3adTintin