首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python程序中移除列值高于常量的Panda行

在Python程序中移除列值高于常量的Panda行
EN

Stack Overflow用户
提问于 2020-05-21 16:01:35
回答 2查看 27关注 0票数 0

我对Python和Pandas (和stackoverflow)都是新手。我有许多大型数据集,并且在每个数据集中,我希望对行进行子选择,然后消除异常值。

代码语言:javascript
复制
    myrawdata = pandas.read_csv(filename,index_col = ("Proc_Trial Type"))
    #
    # Select rows with "Flanker" as the trial type
    #
    mrd2 = myrawdata.loc["Flanker"]
    #
    # Eliminate rows which have "Practice" in the Proc_Shuffle 1 column
    #
    mrd3 = mrd2[-mrd2["Proc_Shuffle 1"].isin(["Practice"])]
    #
    # Create new df, excluding response times > 1000 ms to eliminate outliers
    #
    mrd7 = mrd3[mrd3["Resp_RT"] < 1000]

除了最后一行之外,上面的所有行都工作得很好,我原本希望这行可以排除标题为"Resp_RT“的列的值大于1000的行。然而,它似乎没有任何效果。

我在网上搜索过,无论是在堆栈溢出中还是在其他地方,都想找到如何做到这一点但没有成功。我也读过熊猫的动作,但没有得到任何灵感。如果你的建议对我有所帮助,我将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2020-05-21 16:20:38

您所显示的代码运行良好,甚至最后一行似乎也能正确执行。

mrd7 = mrd3[mrd3["Resp_RT"] < 1000]

票数 1
EN

Stack Overflow用户

发布于 2020-05-21 16:05:52

你展示的方式做到了:)

代码语言:javascript
复制
df = pandas.DataFrame({'Resp_RT':[1,2,3,4,6,1000,1001,1002]})
other = df[df["Resp_RT"] < 1000]
print(other)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61929922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档