![]() | 1 imn1 2021-03-29 22:04:59 +08:00 搜“pandas 像写 sql”能找到一篇文章 类型问题,处理前 astype 转换一下 |
![]() | 2 badacook OP @imn1 谢谢大神的提点 那篇文章有搜到过 看过一部分 结合这个 问题我想起来了 apply()相关函数 包含多列处理,返回的是 DataFrame, 可以将 DataFrame.T 对所有行变换成列,返回相关列也就是本身的行,只是需要自定义判断函数 之前看到了 DataFrame.query 函数 也是返回 DataFrame 列,就是其中的 boolean expression 感觉到不到效果 再次感谢 大神的 astype 指点。 |
![]() | 3 wuwukai007 2021-03-29 22:25:25 +08:00 df.loc[(df == 'a').any()] |
![]() | 4 badacook OP @wuwukai007 试过了 完全不对啊 |
![]() | 5 v2sir 2021-03-29 23:03:08 +08:00 要不你先 df.T 一下 ? 逃~ |
![]() | 6 wanv1171 2021-03-30 04:14:13 +08:00 pd.Series.str.contains() https://pandas.pydata.org/docs/reference/api/pandas.Series.str.contains.html |
![]() | 7 wanv1171 2021-03-30 04:17:50 +08:00 ![]() 没注意是筛选行,那应该这样 df[df.apply(lambda r: r.str.contains('b', case=False).any(), axis=1)] https://stackoverflow.com/questions/38980514/most-concise-way-to-select-rows-where-any-column-contains-a-string-in-pandas-dat/43018248 |
![]() | 8 badacook OP @wanv1171 非常感谢,Series.str.contains(),与 apply lambda 这种方式 这几天都一直在用,就是这几种结合 any 函数没组合使用过,真香啊,感谢感谢,致敬 |
![]() | 9 HelloViper 2021-03-30 10:08:35 +08:00 series.str.contains 呀,你连续问的问题都是 str 列的内置方法 |