python-3.x - 保留少于两个连续大写字母的行(熊猫)
问题描述
我有一个包含名称的数据集,但其中一些是大写字母,例如:
d = {'col1': ['MICHAEL', 'Sabrina', 'BEn', 'Jay-Lynn'], 'col2': ['1', '2', '3', '4']}
df = pd.DataFrame(data=d)
我只想保留具有正确拼写名称的行,因此只有一个连续的大写字母。在这种情况下,我只想保留 Sabrina 和 Jay-Lynn。我想将其他名称保留在单独的数据框中。
我在 pandas 中有我所有的其他代码,主要是 str.contains() 所以在 pandas 中也有这个代码会很好。
提前谢谢了!
解决方案
IIUC,使用pandas.Series.str.istitle
:
df2 = df[df["col1"].str.istitle()]
print(df2)
输出:
col1 col2
1 Sabrina 2
3 Jay-Lynn 4
推荐阅读
- python - 为什么在为 python 3.6 安装 ratfun 包时出现“错误命令错误,退出状态为 1”?
- postgresql - 无法从 pgAdmin 访问数据库
- angular - 如何在 Angular 8 中生成类的方法名称列表?
- apache-kafka - Kafka Connect Hbase 接收器
- excel - Excel 2010 和 2013 (OLEObject) 之间的 VBA 命令不兼容?
- performance - Selenium 中的并行自动化
- javascript - 是否可以通过 Optimizely 自定义代码引用 Tealium 的通用数据对象 (UDO)?
- python - Pandas Dataframe:IndexError:单个位置索引器超出范围
- r - R中nlm-package的时间复杂度?
- react-native - React Native onRegister 事件不起作用(iOS)