小编Dat*_*oob的帖子

使用熊猫过滤多个值

我正在使用 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)

任何想法如何使这项工作以及该错误意味着什么?

python filtering pandas

6
推荐指数
2
解决办法
3万
查看次数

如何使用 Pandas 从 Groupby 方法中排除单个值

我有一个数据框,出于特定原因,我已将所有 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

5
推荐指数
1
解决办法
6570
查看次数

为什么这个条件lambda函数没有返回预期的结果?

我仍然在使用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)

python lambda conditional pandas

0
推荐指数
1
解决办法
51
查看次数

标签 统计

pandas ×3

python ×3

conditional ×1

filtering ×1

lambda ×1