其中一列是字符串。 我想拆分字符串,但它没有用作拆分器的唯一字符。 下面是示例数据框:
`df = pd.DataFrame({'Name':['John','David'],'Occupation':['CEO','Dep Dir'],'Contact':['HP No-Mobile Ph 123:456','Off-Mobile Ph 152:256']},`)
我使用以下代码在'-'处进行分割。
df[['Contact1','Contact2']] = df.Contact.str.split('[-]',expand=True)
但是输出不是我想要的格式。 谁能帮助我,这是我找不到的特定问题。 谢谢,
Zep
答案 0 :(得分:1)
首先将不需要的数据切片,然后使用static void Main(string[] args)
{
// LDAP string to define your OU
string ou = "OU=test,DC=test,DC=local";
// set up a "PrincipalContext" for that OU
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "test.local", ou))
{
// define the "query-by-example" user (or group, or computer) for your search
UserPrincipal qbeUser = new UserPrincipal(ctx);
// set whatever attributes you want to limit your search for, e.g. Name, etc.
qbeUser.Surname = "ilgezdi";
// define a searcher for that context and that query-by-example
using (PrincipalSearcher searcher = new PrincipalSearcher(qbeUser))
{
foreach (Principal p in searcher.FindAll())
{
// Convert the "generic" Principal to a UserPrincipal
UserPrincipal user = p as UserPrincipal;
if (user != null)
{
console.Write(user);
}
}
}
}
}
(假设数据Ph的长度恒定):
split
如果Ph之后的数据不是恒定的,请在字母和空格上使用df[['Contact1','Contact2']] = df.Contact.str[:-8].str.split('[-]',expand=True)
:
extract
df[['Contact1','Contact2']] = df.Contact.str.split('[-]',expand=True)
df['Contact2'] = df.Contact2.str.extract('([a-zA-Z ]+)')[0].str.rstrip()
答案 1 :(得分:1)
df[['Contact1','Contact2']] = df['Contact'].str.split('-' or ' ',expand=True)
df.Contact2 = df.Contact2.str.split(' ').str[:-1].apply(' '.join)
出局:
Contact Name Occupation Contact1 Contact2
0 HP No-Mobile Ph 123:456 John CEO HP No Mobile Ph
1 Off-Mobile Ph 152:256 David Dep Dir Off Mobile Ph
答案 2 :(得分:1)
我相信您需要split
乘-
两列,然后需要rsplit
乘最后一个空格:
df[['Contact1','Contact2']] = df.Contact.str.split('-',expand=True)
df['Contact2'] = df['Contact2'].str.rsplit(n=1).str[0]
print (df)
Name Occupation Contact Contact1 Contact2
0 John CEO HP No-Mobile Ph 123:456 HP No Mobile Ph
1 David Dep Dir Off-Mobile Ph 152:256 Off Mobile Ph