首页 > 解决方案 > 保留少于两个连续大写字母的行(熊猫)

问题描述

我有一个包含名称的数据集,但其中一些是大写字母,例如:

d = {'col1': ['MICHAEL', 'Sabrina', 'BEn', 'Jay-Lynn'], 'col2': ['1', '2', '3', '4']}
df = pd.DataFrame(data=d)

我只想保留具有正确拼写名称的行,因此只有一个连续的大写字母。在这种情况下,我只想保留 Sabrina 和 Jay-Lynn。我想将其他名称保留在单独的数据框中。

我在 pandas 中有我所有的其他代码,主要是 str.contains() 所以在 pandas 中也有这个代码会很好。

提前谢谢了!

标签: python-3.xpandas

解决方案


IIUC,使用pandas.Series.str.istitle

df2 = df[df["col1"].str.istitle()]
print(df2)

输出:

       col1 col2
1   Sabrina    2
3  Jay-Lynn    4

推荐阅读