【发布时间】:2014-08-14 22:35:02
【问题描述】:
我有一个包含 2000 行的 CSV 数据集,其中包含一个关于名字/姓氏的凌乱列。在本专栏中,我需要区分名字和姓氏。为此,我有一个基地,其中包含过去 20 年在法国给出的所有姓氏。
所以,源数据库看起来像:
"name"; "town"
"Johnny Aaaaaa"; "Bordeaux"
"Bbbb Tom";"Paris"
"Ccccc Pierre Dddd" ; "Lyon"
...
我想获得类似的东西:
"surname"; "firstname"; "town"
"Aaaaaa"; "Johnny "; "Bordeaux"
"Bbbb"; "Tom"; "Paris"
"Ccccc Dddd" ; "Pierre"; "Lyon"
...
还有,我的名字参考数据库:
"firstname"; "sex"
"Andre"; "M"
"Bob"; "M"
"Johnny"; "M"
...
从技术上讲,我必须将第一个碱基的每一行与第二个碱基的每个字段进行比较,以确定哪个字符链对应于第一个名称... 我不知道该怎么做。
欢迎任何想法...谢谢。
【问题讨论】:
-
你的问题不是很清楚。您可以使用 str.split() 分隔第一列中的名字和姓氏,但我不明白您要进行的比较。
-
嗯,好的。我明白了,对不起。关键是我不能简单地将名字和姓氏分开,因为在每一行中的数据都不相似。例如:在第一行中,我有名字/姓氏,但在第二行中,我有姓氏/名字,或者在第三行中只有名字的第一个字母,或者只有先生-夫人/姓氏......这是一个正确的混乱!所以我想比较是自动获得什么是名字和什么不是名字的唯一方法。最后,我们得到两列:一列有名字,一列有其余的。我错了?