当前位置: 首页 > 知识库问答 >
问题:

如何检查Pandas中的列是否具有具有不同大小写选择的字符串?

岳良策
2023-03-14

我知道如何检查pandas中的一列是否有特定的字符串,就像post-check中解释的那样,如果pandas中的dataframe列中包含某个值。但是,我想计算包含特定字符串的行数,其中包含一些可变性。例如,我不仅要检查行中是否包含葡萄牙,还要检查行中是否包含葡萄牙或葡萄牙。有没有办法做到这一点?

这就是我停下来的地方(我不仅试着数数,而且还试着看到了百分比):

df[df['column'].str.contains('Portugal')].shape[0]/df['column'].shape[0]

共有3个答案

芮意
2023-03-14

特伦顿·麦金尼和YOBEN_S都可以。另一种蟒蛇的方式是请使用?正则表达式标志。在这种情况下,暗示大小写不敏感的标志i。只要拼写正确,葡萄牙语是如何键入的并不重要。

df[df.Country.str.contains('(?i:Portugal)')]



 Country
0   PORTUGAL
4   Portugal
7   portugal
10  PORTUGAL

许博达
2023-03-14

您可以传递case=False

sub = df[df['Country'].str.contains('portugal',case=False)]
sub
Out[48]: 
     Country
0   PORTUGAL
4   Portugal
7   portugal
10  PORTUGAL
唐修能
2023-03-14
  • 将整个列强制转换为单个大小写(例如小写)并搜索一个变体更容易。
import pandas as pd

# test data
data = {'Country': ['PORTUGAL', 'ENGLAND', 'FRANCE', 'GERMANY', 'Portugal', 'SPAIN', 'SPAIN', 'portugal', 'ITALY', 'NETHERLANDS', 'PORTUGAL', 'ITALY', 'RUSSIA']}

# setup dataframe
df = pd.DataFrame(data)

# cast Country to lowercase
df['Country'] = df['Country'].str.lower()

# search for desired string with contains
portugal = df[df['Country'].str.contains('portugal')]

# display(portugal)
     Country
0   portugal
4   portugal
7   portugal
10  portugal
 类似资料:
  • 我有一个数据框和一个列表 我想创建一个新列,这样如果列包含中的关键字,标志将为1,否则为0。 预期输出: 我能够使用下面的代码得到输出: 有没有一种替代方法可以避免循环并使其更高效?

  • 问题内容: 我有一个表,用户,在Oracle 9.2.0.6数据库中。其中两个字段是varchar-last_name和first_name。 当将行插入到此表中时,名字和姓氏字段应该全部用大写字母表示,但是不知何故这两个字段中的某些值是大小写混合的。 我想运行一个查询,该查询将向我显示表中具有名字或姓氏的所有行,并在其中包含小写字符。 我在网上搜索并找到了REGEXP_LIKE,但这必须适用于较

  • 问题内容: 在SQL中,将行复制到另一个(备份)表中。如果备份表具有不同的结构(或不同的列名称),这可能吗?如果没有,实现此目标的最佳方法是什么? 这是我想做的:具有columns 。我想将一些行从该表复制到另一个具有column的表。内容进入,对等 问题答案: 该 列名 不事可言,只要该 数据类型 相匹配。 如果列的数据类型不匹配,请尝试相应地强制转换值。 只需尝试 使用小的虚拟表。确保明确列出

  • 本文向大家介绍检查字符串的两半在Python中是否具有相同的字符集,包括了检查字符串的两半在Python中是否具有相同的字符集的使用技巧和注意事项,需要的朋友参考一下 我们必须检查在Python中,字符串的两半是否具有相同的字符集。两半中字符的频率必须相同。如果字符串的长度是奇数,请忽略中间的字符并检查其余字符。请按照以下步骤编写程序代码。 算法 让我们编写代码。 示例 输出结果 如果运行上述程序

  • 问题内容: 检查字符串是否仅包含以下字符的最佳和最简便的方法是什么? 我想要像这样的伪代码示例: 请和谢谢:) 问题答案:

  • 我在为Android平台做一个简单的游戏。我有25个对象由我称之为Circle的类制成。每个Circle对象都有一个字段,该字段包含一个int数字,表示 null