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

如何基于另一DataFrame索引过滤pandas DataFrame并插入整行零?

基于DataFrame索引的行替换方案

可以实现需求,通过pandas的索引定位功能就能快速完成。以下是具体实现步骤和代码:

1. 创建示例数据

先还原问题中的两个DataFrame:

import pandas as pd

# 第一个DataFrame
df1 = pd.DataFrame(
    data=[[1,1,1,1], [1,1,1,1], [0,0,0,0], [1,1,1,1]],
    index=['A', 'B', 'C', 'D'],
    columns=['C1', 'C2', 'C3', 'C4']
)

# 第二个DataFrame
df2 = pd.DataFrame(
    data=[[1,1,1,1]],
    index=['A'],
    columns=['C1', 'C2', 'C3', 'C4']
)

2. 核心处理逻辑

提取第二个DataFrame的索引,直接定位第一个DataFrame中对应索引的行并赋值为0:

# 获取需要替换为0的索引集合
target_indexes = df2.index

# 对df1中目标索引的行整行置0
df1.loc[target_indexes] = 0

3. 输出结果

执行后得到的df1即为期望输出:

C1  C2  C3  C4
A   0   0   0   0
B   1   1   1   1
C   0   0   0   0
D   1   1   1   1

这种方法利用pandas的矢量化操作,无需循环遍历,处理效率高,适合各种规模的数据集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:47:05