【问题标题】:Find equal values in different columns in pandas在熊猫的不同列中查找相等的值
【发布时间】:2020-12-18 20:51:41
【问题描述】:

我想找到三列之间的交集,即两者的相等值。我知道这些值存在,因为在图形上这些值相交(在一些小错误内,比如 0.01)。我怎样才能找到这个交叉点或至少是最接近的匹配项?

data

【问题讨论】:

  • pd.merge_asof 两次过滤?

标签: python pandas dataframe numpy


【解决方案1】:

请你试试这个好吗?

我已经应用了一个函数来计算每个样本的 3 行的总 y 距离。我假设最小距离是可能的交点。这是我的代码-

import pandas as pd
df = pd.read_csv('data_Q.csv')

def get_distance(x):
    a = abs(x.Q_upper - x.Q_middle)
    b = abs(x.Q_upper - x.Q_lower)
    c = abs(x.Q_middle - x.Q_lower)
    return a+b+c

df['distance'] = df.apply(lambda x: get_distance(x), axis=1)
get_min = df['distance'].min()
df[df['distance']==get_min]

我找到了这个

        Q_upper     Q_lower     Q_middle    distance
 2127   79.746342   76.430846   83.151515   13.441338

【讨论】:

  • 欢迎。坐标几何应该是功劳!哈哈哈。
猜你喜欢
  • 1970-01-01
  • 2018-09-04
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多