如果 _
出现,我有一个数据框需要拆分列
Name = [('Hello'),
('Spider'),
('Captain'),
('Superman'),
('Hello_1'),
('Superman_1')]
dfName = pd.DataFrame(Name, columns=['Name'])
我的输出
Name
0 Hello
1 Spider
2 Captain
3 Superman
4 Hello_1
5 Superman_1
预计结束
df1
Name
0 Hello
1 Spider
2 Captain
3 Superman
df2
Name_
0 Hello_1
1 Superman_1
最佳答案
使用Series.str.contains
对于掩码和过滤器,通过反转掩码不包含 ~
对于 df1
而对于 df2
不包含 boolean indexing
, 最后添加 DataFrame.reset_index
对于默认 RangeIndex
:
m = dfName['Name'].str.contains('_')
#is sample data .reset_index(drop=True) not necessary, added for general solution
df1 = dfName[~m].reset_index(drop=True)
print(df1)
Name
0 Hello
1 Spider
2 Captain
3 Superman
df2 = dfName[m].reset_index(drop=True)
print(df2)
Name
0 Hello_1
1 Superman_1
关于python - 如何拆分包含字符串的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58543127/