我正在使用 Python 和 Pandas。我有一个df与此类似的工作:
+--------+--------+-------+
| Col1 | Col2 | Col3 |
+--------+--------+-------+
| Team 1 | High | Pizza |
| Team 1 | Medium | Sauce |
| Team 1 | Low | Crust |
+--------+--------+-------+
Run Code Online (Sandbox Code Playgroud)
我想过滤df以便我只能从Col2.
这是我在没有运气的情况下尝试过的
df = df.loc[df['Col2'] == 'High' | (df['Col2'] == 'Medium')]
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误
cannot compare a dtyped [bool] array with a scalar of type [bool]
Run Code Online (Sandbox Code Playgroud)
任何想法如何使这项工作以及该错误意味着什么?
我有一个数据框,出于特定原因,我已将所有 NaN 转换为 0。在对 df 进行另一次计算时,我的 group by 选择了一个 0 并将其作为执行计数的值。知道如何让python和pandas排除0值吗?在这种情况下,0 代表数据中的一行。有没有办法从 groupby 中排除所有 0?
我的 groupby 看起来像这样
+----------------+----------------+-------------+
| Team | Method | Count |
+----------------+----------------+-------------+
| Team 1 | Automated | 1 |
| Team 1 | Manual | 14 |
| Team 2 | Automated | 5 |
| Team 2 | Hybrid | 1 |
| Team 2 | Manual | 25 |
| Team 4 | 0 | 1 |
| Team 4 | Automated …Run Code Online (Sandbox Code Playgroud) 我仍然在使用python和pandas.我正在努力改进关键字评估.我的DF看起来像这样
Name Description
Dog Dogs are in the house
Cat Cats are in the shed
Cat Categories of cats are concatenated
I am using a keyword list like this ['house', 'shed', 'in']
Run Code Online (Sandbox Code Playgroud)
我的lambda函数看起来像这样
keyword_agg = lambda x: ' ,'.join x if x is not 'skip me' else None
Run Code Online (Sandbox Code Playgroud)
我正在使用一个函数来识别和评分每一行的关键字匹配
def foo (df, words):
col_list = []
key_list= []
for w in words:
pattern = w
df[w] = np.where(df.Description.str.contains(pattern), 1, 0)
df[w +'keyword'] = np.where(df.Description.str.contains(pattern), w,
'skip me')
col_list.append(w)
key_list.append(w + …Run Code Online (Sandbox Code Playgroud)