我想通過使用兩列中的值逐行遍歷DataFrame
來生成Series
。事情是這樣的:熊貓函數用於從數據幀生成序列
race_cats = ('White', 'Black', 'Hispanic', 'Other')
def raceParse(row):
if row.hispan != 'Not Hispanic':
return 'Hispanic'
elif row.race == 'White':
return 'White'
elif row.race == 'Black/Negro':
return 'Black'
else:
return 'Other'
df['race4'] = df.map(lambda r: raceParse(r)).astype('category', ordered=False, categories=race_cats)
這不起作用,很明顯,作爲DataFrame
沒有map
方法。 apply
和applymap
工作元素明智,不行。什麼是最好的方法來做到這一點?
你可以添加你的'DataFrame'(5,6行)的樣本? – jezrael
apply可以工作row-wise('df.apply(raceParse,axis = 1'),但這可能不是最好的方式(適用不是很快)。我同意樣本會很好。 – ayhan