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 1
没注意是筛选行,那应该这样 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 列的内置方法
|