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

如何从pandas DataFrame手动选取指定行存入另一DataFrame

pandas 手动选取指定行生成新DataFrame的实现方法

手动从原DataFrame A挑若干行存入新DataFrame B,核心是按行的位置/索引做筛选,根据你已知的信息选对应写法即可:

  • 按行的位置选(默认从0开始计数,即第1行对应位置0):用iloc传入要选的行位置列表
    比如你要选原表的第1行、第3行、第6行,直接写:
    # 方括号里填所有你要选的行的位置序号
    B = A.iloc[[0, 2, 5]].copy()
    

    末尾加.copy()是为了切断新老DataFrame的内存关联,避免后续修改B的时候误改动A的数据,避免触发SettingWithCopyWarning警告,是官方推荐的写法。

  • 按自定义的行索引标签选(如果你给A设置过非默认的行索引,比如订单号、用户ID这类):用loc传入要选的索引值列表
    比如你要选索引值为'order_123'、'order_456'、'order_789'的三行:
    B = A.loc[['order_123', 'order_456', 'order_789']].copy()
    
  • 逐行肉眼判断筛选的场景:可以先生成一个和A行数等长的布尔列表,要选的行对应位置填True,不选的填False,直接传入筛选
    比如A一共有6行,你要选第1、4、5行,对应列表如下:
    select_flag = [True, False, False, True, True, False]
    B = A[select_flag].copy()
    

补充:如果选完之后希望B的行索引是从0开始连续的序号,可以在代码末尾追加.reset_index(drop=True),示例:

B = A.iloc[[0,2,5]].copy().reset_index(drop=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 07:09:18