jac*_*118 1 numpy dataframe python-3.x pandas
我的数据框列中有以下数据.如何通过数字转换每个域名?我尝试在for循环中使用replace.但是,由于我有超过1200个unqie域名.我不想这似乎不是一个想法的方法
for i, v in np.ndenumerate(np.unique(df['domain'])):
df['domain'] = df['domain'].replace(to_replace=[v], value=i[0]+1, inplace=True)
Run Code Online (Sandbox Code Playgroud)
但它不起作用
data frame:
type domain
0 1 yahoo.com
1 1 google.com
2 0 google.com
3 0 aa.com
4 0 google.com
5 0 aa.com
6 1 abc.com
7 1 msn.com
8 1 abc.com
9 1 abc.com
....
Run Code Online (Sandbox Code Playgroud)
我想转换为
type domain
0 1 1
1 1 2
2 0 2
3 0 3
4 0 2
5 0 3
6 1 4
7 1 5
8 1 4
9 1 4
....
Run Code Online (Sandbox Code Playgroud)
我们来使用pd.factorize:
df.assign(domain=pd.factorize(df.domain)[0]+1)
Run Code Online (Sandbox Code Playgroud)
输出:
type domain
0 1 1
1 1 2
2 0 2
3 0 3
4 0 2
5 0 3
6 1 4
7 1 5
8 1 4
9 1 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |