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

Python中实现两个DataFrame小于10数值的双向同步移除需求咨询

同步移除两个DataFrame中小于10的数值(对应位置同步处理)

我来帮你搞定这个同步移除的需求!咱们直接一步步来实现,完全贴合你的要求:

首先明确核心规则:只要两个DataFrame中任意一个的单元格数值小于10,两个表格对应位置的数值都要移除。这里默认把移除的数值替换成NaN(保留表格结构,方便后续分析),如果需要换成空字符串或其他标记,后面也可以调整。

步骤1:构造测试数据(用你提供的样例)

先把你给的两个DataFrame用pandas构造出来,方便后续操作:

import pandas as pd

# 第一个DataFrame
data1 = {
    'dt': ['2021-04-12', '2021-04-13', '2021-04-14', '2021-04-15'],
    'AAPL': [36, 46, 12, 30],
    'AMC': [28, 15, 4, 23],
    'AMZN': [6, 5, 1, 3],
    'ASO': [20, 16, 5, 14],
    'ATH': [1, 6, 2, 2],
    'SPCE': [5, 5, 2, 15],
    'SRNE': [0, 0, 0, 0],
    'TH': [0, 0, 0, 0],
    'TSLA': [50, 122, 39, 101],
    'VIAC': [23, 12, 1, 9],
    'WKHS': [0, 1, 0, 0]
}
df1 = pd.DataFrame(data1).set_index('dt')

# 第二个DataFrame
data2 = {
    'dt': ['2021-04-12', '2021-04-13', '2021-04-14', '2021-04-15'],
    'AAPL': [41, 76, 21, 54],
    'AMC': [28, 22, 15, 43],
    'AMZN': [4, 7, 2, 9],
    'ASO': [33, 12, 7, 2],
    'ATH': [10, 29, 16, 31],
    'SPCE': [5, 4, 2, 16],
    'SRNE': [0, 0, 0, 0],
    'TH': [0, 0, 0, 0],
    'TSLA': [56, 134, 61, 83],
    'VIAC': [14, 8, 3, 13],
    'WKHS': [3, 2, 0, 1]
}
df2 = pd.DataFrame(data2).set_index('dt')

步骤2:创建统一的移除掩码

这是实现同步逻辑的关键!我们生成一个和DataFrame结构完全一致的布尔掩码,标记出所有需要移除的位置:

# 规则:只要df1或df2中对应位置的值小于10,就标记为True(需要移除)
mask = (df1 < 10) | (df2 < 10)

举个例子:AMC列的2021-04-14行,df1的值是4(<10),所以mask这里是True;VIAC列的2021-04-13行,df2的值是8(<10),mask这里也是True——完美符合你的同步要求。

步骤3:应用掩码完成移除

用pandas的mask()方法,把标记为True的位置替换成NaN(也就是移除原来的数值):

# 对两个DataFrame分别应用掩码
df1_clean = df1.mask(mask)
df2_clean = df2.mask(mask)

可选:自定义移除后的标记

如果你不想用NaN,想换成空字符串或其他值,直接用fillna()处理就行:

# 替换成空字符串
df1_clean = df1_clean.fillna('')
df2_clean = df2_clean.fillna('')

验证结果

比如查看AMC列的结果:

  • df1_clean中2021-04-14的AMC值是NaN(因为原df1的值<10)
  • df2_clean中2021-04-14的AMC值也是NaN(同步移除)
    再看VIAC列的2021-04-13行:
  • df1原数值是12(>=10),但df2原数值是8(<10),所以两个表格的这个位置都被替换成NaN,完全符合要求!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 10:02:41