对于这类事情,我总是更喜欢 map 函数,它吃字典,或者是一个函数。
import pandas as pd
import numpy.random as np
In [12]:
print
# generate data
df = pd.DataFrame(data={'natvty':np.randint(low=20,high=500,size=10),
'country':pd.Series([1,2,3,3,3,2,1,1,2,3])})
df
country natvty
0 1 24
1 2 310
2 3 88
3 3 459
4 3 38
5 2 63
6 1 194
7 1 384
8 2 281
9 3 360
然后,dict。在这里我只是输入它,但您可以从 csv 或 excel 文件中加载它。然后,您需要将键设置为索引并将结果系列转换为 dict (to_dict())。
countrymap = {1:'US',2:'Canada',3:'Mexico'}
然后您可以简单地map 值标签。
df.country.map(countrymap)
Out[10]:
0 US
1 Canada
2 Mexico
3 Mexico
4 Mexico
5 Canada
6 US
7 US
8 Canada
9 Mexico
Name: country, dtype: objec