You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Pandas中正确的SQL查询返回空DataFrame?

解决pandasql查询导演信息返回空DataFrame的问题

可能的原因及解决办法:

  • 名字存在隐藏空格或字符差异:数据表中存储的导演名可能前后有空格,或者和你写的'Стивен Спилберг'有细微字符差异(比如全角/半角空格、Unicode变体字)。先跑下面的代码查看实际存储的导演名:

    print(bf['director'].unique())
    

    对比输出结果和查询用的字符串,确保二者完全一致。

  • 先清理导演列的冗余字符:把director列的前后空格去掉后再执行查询:

    # 清理列数据
    bf['director'] = bf['director'].str.strip()
    # 重新执行查询
    query = """
    SELECT movie, rating_ball, director
    FROM bf 
    WHERE director = 'Стивен Спилберг'
    """
    movies = pysqldf(query)
    print(movies)
    
  • 用模糊匹配替代精确匹配:如果不确定名字的精确写法,使用LIKE进行模糊匹配:

    query = """
    SELECT movie, rating_ball, director
    FROM bf 
    WHERE director LIKE '%Спилберг%'
    """
    movies = pysqldf(query)
    print(movies)
    
  • 检查字符编码一致性:俄文字符可能存在编码问题,尝试用原始字符串写法(在字符串前加r)执行查询:

    query = r"""
    SELECT movie, rating_ball, director
    FROM bf 
    WHERE director = 'Стивен Спилберг'
    """
    movies = pysqldf(query)
    print(movies)
    

内容的提问来源于stack exchange,提问作者Amaliya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:55:03