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

根据行数条件选择两个DataFrame中更长的导出为CSV的实现方法

问题原因

你写的代码存在两个核心错误:

  • 你初始化的x是空DataFrame,全程没有给它赋值就直接调用apply方法,最终得到的自然是空结果
  • apply是用来对DataFrame的行/列元素逐个应用处理函数的方法,你当前的需求只是选中行数更长的DataFrame,完全不需要用到apply,属于方法误用

修正方案

你写的长度判断逻辑本身是正确的,只需要直接获取判断后的返回值赋值给x,再调用导出csv的方法即可:

import pandas as pd

# 此处保留你自己的foo、bar DataFrame定义代码
def get_longer_df(df1, df2):
    # 建议改成传参形式,避免依赖全局变量,兼容性更好
    if len(df1) > len(df2):
        return df1
    else:
        return df2

x = get_longer_df(foo, bar)
# 导出时加index=False可以避免生成额外的索引列,不需要可以去掉该参数
x.to_csv('x.csv', index=False)

如果两个DataFrame行数相等时你希望优先返回foo,把判断条件改成len(df1) >= len(df2)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:45:03