【发布时间】:2018-09-14 11:30:34
【问题描述】:
我在这里查看了多个问题,但没有任何解决方案有效。 我有一个矩阵,我想过滤 2 列中的值并返回应用此过滤器的 整行。
目前我已经尝试过:
mask = (data['sender'] == 'me') & (data['status'] == 'done')
data[mask]
这使得所有值都变为“NaN”。
当我尝试单独应用掩码时,我得到一个 DataFrame,其中包含该位置的正确值,但所有其他列都为 NaN。
我也试过不同的方法,就是这样:
data.loc[data['sender' == 'me']
除了值出现的行 x 列之外,它具有相同的结果,即在 NaN 中转换每个值..
【问题讨论】:
-
我认为你的解决方案是正确的,只分配像
df = data[mask]print (df)这样的输出 -
是否可以创建一些示例数据?如果不工作,它似乎是一些与数据相关的问题。
-
@jezrael 这可能是数据的问题。我无法在手动输入的值上重现它。它发生在通过 CSV 解析的值
-
一个想法,如果创建默认索引值,
data = data.reset_index(drop=True)应该会有所帮助 -
好的,现在我已经加载了 CSV 文件以与 pandas 一起使用,它按预期工作。谢谢@jezrael!
标签: python python-3.x pandas jupyter-notebook