相关疑难解决方法(0)

按位运算和使用

考虑以下代码:

x = 1        # 0001
x << 2       # Shift left 2 bits: 0100
# Result: 4

x | 2        # Bitwise OR: 0011
# Result: 3

x & 1        # Bitwise AND: 0001
# Result: 1
Run Code Online (Sandbox Code Playgroud)

我可以理解Python(和其他语言)中的算术运算符,但我从来没有完全理解'按位'运算符.在上面的例子中(来自Python书),我理解左移但不是其他两个.

另外,实际使用的是按位运算符?我很欣赏一些例子.

python binary bit-manipulation operators

94
推荐指数
7
解决办法
14万
查看次数

如何测试一个字符串是否包含列表中的一个子字符串?

是否有任何功能相当于df.isin()df[col].str.contains()?的组合?

例如,假设我有这个系列 s = pd.Series(['cat','hat','dog','fog','pet']),并且我想找到s包含任何内容的所有地方['og', 'at'],我想要获得除了宠物之外的一切.

我有一个解决方案,但它相当不优雅:

searchfor = ['og', 'at']
found = [s.str.contains(x) for x in searchfor]
result = pd.DataFrame[found]
result.any()
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

python string match dataframe pandas

90
推荐指数
3
解决办法
8万
查看次数

通过在字符串列中查找精确单词(未组合)来过滤DataFrame

我的DataFrame有两列:

Name  Status
 a    I am Good
 b    Goodness!!!
 c    Good is what i feel
 d    Not Good-at-all
Run Code Online (Sandbox Code Playgroud)

我想过滤其中Status有一个字符串'Good'作为其确切单词的行,而不是与任何其他单词或字符组合.

所以输出将是:

Name  Status
a    i am Good
c    Good is what i feel
Run Code Online (Sandbox Code Playgroud)

另外两行中有一个'Good'字符串,但与其他字符混合在一起,因此不应该被拾取.

我试过做:

d = df[df['Status'].str.contains('Good')]  # But all rows come up
Run Code Online (Sandbox Code Playgroud)

我相信一些正则表达式(r'\bGood\b', Status)会这样做,但这不能一起总结.在DataFrame过滤条件中我如何/在何处完全符合正则表达式来实现这一目标?如何实现startswithendswith'好'(精确的单词搜索)?

python regex string dataframe pandas

2
推荐指数
1
解决办法
2461
查看次数