有沒有辦法根據當前值的第一個字符將新值映射到數據幀列上。熊貓:根據第一個字符映射新值
我當前的代碼:
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'])
我想使用某種dict
然後pd.replace
,但不知道怎麼做,與.str.startswith()
感謝您的輸入。與@ ayhan的答案相比,'df.loc'部分很重要嗎? – As3adTintin
是的,因爲您只想影響數據與您的詞典鍵匹配的行,否則您用'NaN'覆蓋該行,這就是最後一行不變的原因 – EdChum
ahhh ok謝謝! – As3adTintin