我想知道数据框的某些列中是否存在特定字符串(每列不同的字符串)。 据我了解,isin是为数据帧编写的,但也可以用于Series,而str.contains可以更好地用于Series。 其实我不明白该如何选择两者。
非常感谢您的回答,我已经搜索了类似的问题,但是没有找到关于在这两者之间进行选择的任何解释。
答案 0 :(得分:6)
https://github.com/programingjd/ansi_colors
https://github.com/tomas-langer/chalk
检查列中的每个值是否包含在任意值列表中。大致相当于.isin
。
value in [value1, value2]
检查列中的每个值中是否包含任意值。大致相当于.contains
。
换句话说,substring in large_string
按列工作,并且可用于所有数据类型。 .isin
在元素方面起作用,并且仅在处理字符串(或可以表示为字符串的值)时才有意义。
摘自官方文档:
检查系列中是否包含值。 返回一个布尔系列,显示系列中的每个元素是否 完全匹配传递的值序列中的元素。
Series.str.contains(pat, case=True, flags=0, na=nan,** **regex=True)
测试模式或正则表达式是否包含在 系列或索引的字符串。
根据给定的模式还是返回布尔系列或索引 正则表达式包含在“系列”或“索引”的字符串中。
示例:
.contains