我有一个数据集,但它包括位置#,"姓氏,名字M" ,,
我能分开它,但是我希望中间的首字母不见了,白色的空间也消失了,这就是我所拥有的:
df = pd.read_excel('C:\\HR employees\\EE Listing as of 5-30-17.xlsx')
df['Last Name'], df['First Name'] = df['NAME'].str.split(',', 1).str
del df['NAME']
df.to_excel('output.xlsx')
它会分割名字和姓氏,但我怎样才能摆脱中间的名字呢?
答案 0 :(得分:2)
df = pd.read_excel('C:\\HR employees\\EE Listing as of 5-30-17.xlsx')
df['Last Name'], df['First Name'] = df['NAME'].str.split(',').str
df['First Name'] = df['First Name'].apply(lambda s: s[:-2] if s[-2] == ' ' else s)
del df['NAME']
df.to_excel('output.xlsx')
lambda函数检查第一个名称中的倒数第二个字符是否为空格。这将删除初始(如果存在),同时还处理由两部分组成的名字。
测试用例:(名称--->姓氏--->名字)
答案 1 :(得分:2)
如何将第一个名称复制到中间字母之间的空格?
df['First Name'] = 'dave M'
name = ''
for ch in df['First Name']:
if ch != ' ':
name += ch
else: break
df['First Name'] = name
# OR ALTERNATIVLY
df['First Name'] = df['First Name'].split()[0]