【问题标题】:Every time I try to filter dataframe by string values, my dataframe is empty. But when I try to get count value from one column, I get the number每次我尝试按字符串值过滤数据框时,我的数据框都是空的。但是当我尝试从一列中获取计数值时,我得到了数字
【发布时间】:2019-12-16 00:12:39
【问题描述】:
import pandas as pd

def get_count_RS_Tier(filepath, column1, word):
    df = pd.read_csv(filepath)
    sec = df[column1].str.count(word).sum()
    print(sec)

    first = df.RS[df.Status == "Paid"]
    print(first.describe())

get_count_RS_Tier("Enterprise")

sec 的值为 878,这是正确的值。但是当我尝试按字符串值进行过滤时,我得到一个空数据框。

我需要一种方法来通过多个过滤器获取单元格的计数值。

感谢您的帮助!

编辑:

所以,每次我尝试过滤数据框时,

sec1 = df.RS_Tier == "Enterprise"
sec2 = df.INV_Status == "Paid in Full"
first = df[sec1]
print(first.head())

返回值是一个空数据框。我不明白这怎么可能。

EDIT2:

所以,我想根据 if (Saas) 和 (Paid) for (SMB) 获取整数值

所以,如果我想找出在 SMB 中支付的 Saas 的数量,输出希望是 1。

【问题讨论】:

  • 请将代码/数据作为文本包含在帖子本身中,而不是作为图像。此外,我强烈建议不要使用. 样式的列索引,而是使用[]

标签: python pandas dataframe data-analysis


【解决方案1】:

你没有给我们很多工作。但也许你只需要这样做

first = df[df.Status == "Paid"].RS

相反。

【讨论】:

  • @B_working_K_hard,一个可以观察到问题的最小 df 样本,预期的输出会有很大帮助。
  • 嘿。我添加了我正在使用的数据框的示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 2020-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 2017-11-22
相关资源
最近更新 更多