比如把名字相同的,在頭銜列里隨機賦值為工人或醫生中的一種,請問如何用python實作?

uj5u.com熱心網友回復:
import randomimport pandas as pd
s=pd.DataFrame([['張三',''],['李四',''],['王五','']],columns=['名字','頭銜'])
print(s)
s['頭銜']=s['頭銜'].map(lambda x:random.choice(["醫生","工人",'學生']))
print(s)
uj5u.com熱心網友回復:
但你這個同樣的名字會隨機到不同的頭銜,我是要一樣的名字一樣的頭銜uj5u.com熱心網友回復:
import pandas as pd
df = pd.DataFrame([['張三',''],['李四',''],['王五',''],['張三',''],['王五','']],columns=['名字','頭銜'])
l =["醫生","工人",'學生','公務員']
df['頭銜']=df['名字'].map(lambda x:l[int(x.encode("utf-8").hex(),16) % 4] )
print(df)
uj5u.com熱心網友回復:
那更好辦,import random
import pandas as pd
s=pd.DataFrame([['張三',''],['李四',''],['王五',''],['張三','']],columns=['名字','頭銜'])
print(s)
names=list(set(s['名字'].tolist()))
print(names)
dict1=dict(zip(names,list(random.choice(["醫生","工人",'學生']) for _ in names)))
print(dict1)
s['頭銜']=s['名字'].map(lambda x:dict1[x])
print(s)
uj5u.com熱心網友回復:
多謝老哥!轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/36711.html
上一篇:關于用matlab實作n皇后問題
