对于给定的表:
d.DataFrame([['Johnny Depp', 'Keanu Reeves'],
['Robert De Niro', 'Nicolas Cage'],
['Brad Pitt', 'Johnny Depp'],
['Leonardo DiCaprio', 'Morgan Freeman'],
['Tom Cruise', 'Hugh Jackman'],
['Morgan Freeman', 'Robert De Niro']],
columns=['Name1', 'Name2'])
我希望输出为:
pd.DataFrame([['Johnny Depp', 'Johnny Depp'],
['Robert De Niro', 'Robert De Niro'],
['Brad Pitt', NaN],
['Leonardo DiCaprio', NaN],
['Tom Cruise', NaN],
['Morgan Freeman', 'Morgan Freeman'],
[NaN ,'Keanu Reeves'],
[NaN ,'Nicolas Cage'],
[NaN ,'Hugh Jackman']],
columns=['Name1', 'Name2'])
我希望将两列中相似的名称相互映射,其余部分作为单独的行条目。 我知道正则表达式可以解决这个问题,但我希望这个问题在规模,因为我有很多行。我试着使用不同的内置函数和单词库,比如FastText,但解决不了这个问题
我希望将列Name1映射到Name2
我该怎么解决这个问题?我仍然认为我犯了一些愚蠢的错误
首先,列出所有演员的名字
然后使用collections.Counter类。它是一个强大的类,当我们 想要找到一个元素的频率
然后我们制作一个熊猫数据帧
它输出
我用关键字做了一个dict,actos名称和值是字符串的actor名称
演员们
最后,在DataFrame的'Name1'列中添加键,在'Name2'列中添加值
输出应该是
我希望这对你有帮助
相关问题 更多 >
编程相关推荐