Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不能根据句子中是否不存在关键字来使用Pandas进行数学计算_Python_Pandas_Dataframe - Fatal编程技术网

Python 不能根据句子中是否不存在关键字来使用Pandas进行数学计算

Python 不能根据句子中是否不存在关键字来使用Pandas进行数学计算,python,pandas,dataframe,Python,Pandas,Dataframe,我正在检查B列中是否有两个单词不存在,如果不存在,则在a列中取一个整数,并通过将其乘以-1来创建一个数字为负数的C列。如果这个词存在,它应该保持原样 我遇到了两个问题:1.我查不到超过一个单词;我得到一个类型错误 以下是df: df = pd.DataFrame({"A": [10, 21, 13, 22], "B": ["Shares Rise on Jobs News",

我正在检查B列中是否有两个单词不存在,如果不存在,则在a列中取一个整数,并通过将其乘以-1来创建一个数字为负数的C列。如果这个词存在,它应该保持原样

我遇到了两个问题:1.我查不到超过一个单词;我得到一个类型错误

以下是df:

df = pd.DataFrame({"A": [10, 21, 13, 22],
                   "B": ["Shares Rise on Jobs News", 
                         "Outflows on bad projections", 
                         "Rebounds on Bounce", 
                         "Slides on negative assumption"]})
检查word是否存在:

df["C"] = \
df["B"].map(lambda x: "Negative" if "Rise" not in x else "Positive")

预期的输出为:

但如果我添加另一个单词来查找,它会返回错误的输出

df["C"] = \
df["B"].map(lambda x: "Negative" if "Rise" or "Rebounds" not in x else "Positive")

在处理问题的第二部分时,我调整了代码,如果没有关键字,则将数字改为负数:

df["C"] = \
df["B"].map(lambda x: df["A"](-1) if "Rise" not in x else df["A"])


我得到TypeError:“Series”对象不可调用

我们可以执行np.where+包含


啊。你赢了我。我有同样的解决办法+1.这对第一部分有效。第二部分呢。我试着用-1和1替换负和Pos,然后乘以df[A],但我得到的序列是不可下标的。我认为这是可行的:df['C']=np.wheredf[B].str.containsr'Rise | responses',case=False,df[A]。乘以1,df[A]。乘以-1
df['Out'] = np.where(df.B.str.contains('Rise|Rebounds', case=False), 'Pos', 'Nag')
df
Out[11]: 
    A                              B  Out
0  10       Shares Rise on Jobs News  Pos
1  21    Outflows on bad projections  Nag
2  13             Rebounds on Bounce  Pos
3  22  Slides on negative assumption  Nag