python pandas query loc查找行 条件查询 筛选行 字符串 列表
  X5zJxoD00Cah 2023年12月02日 18 0
list_t = ['aa', 'bb', 'cc']
df_t = pd.DataFrame(np.arange(5*3).reshape(-1, 3))  # -1表示自动计算, 不可不填
df_t.columns = ['col' + str(i) for i in range(3)]
df_t.iloc[:3, 0] = list_t
str_t = ""
for i, j in enumerate(list_t):
    j = repr(str(j))  # repr相当于前后加上单引号, 后面构造((查询表达式)字符串)时就不用加了
    if i <= len(list_t)-2:
        str_t += "(col0 == " + j + ") or \ \n"
    else:
        str_t += "(col0 == " + j + ")"
print(str_t)

# df_t.query(str_t)  # 失败 不可使用字符串代替表达式 即使...
print(
    df_t.query('''
        (col0 == 'aa') or \
        (col0 == 'bb') or \
        (col0 == 'cc')
    ''')
)  # query用于条件查询(行)

print(
    df_t.eval('''
        (col0 == 'aa') or \
        (col0 == 'bb') or \
        (col0 == 'cc')
    ''')
)  # eval返回运算结果, 用于执行运算表达式, 在pandas中用于列运算和赋值

print(
    df_t.query('''
        col0.isin(@list_t)
    ''')
)

print(
    df_t.loc[
        df_t['col0'].isin(list_t)
    ]
)

python pandas query loc查找行 条件查询 筛选行 字符串 列表_条件查询

python pandas query loc查找行 条件查询 筛选行 字符串 列表_条件查询_02

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月02日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年11月30日   21   0   0 GroupEmail字符串
X5zJxoD00Cah