- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个更大数据的例子。想象一下,我有两个像这样的数据框:
import pandas as pd
import numpy as np
np.random.seed(42)
df1 = pd.DataFrame({'Depth':np.arange(0.5, 4.5, 0.5),
'Feat1':np.random.randint(20, 70, 8)})
df2 = pd.DataFrame({'Depth':[0.4, 1.1, 1.5, 2.2, 2.8],
'Rock':['Sand','Sand','Clay','Clay','Marl']})
它们的大小不同,我想将 df2 中“Rock”列的信息作为新列放在 df1 上。这种组合应该基于这两个数据帧的“深度”列来完成,但它们具有不同的采样率。 df1遵循0.5的恒定步长,但df2的厚度不同。
所以我想根据“深度”的近似值合并这些信息。例如:如果 df2 的样本的“深度”为 2.2,则查看 df1 的最接近“深度”的值,该值应为 2.0,并在该样本上添加“岩石”信息(“粘土”)。重要的是要说“Rock”值可以在新列上重复,以避免丢失该分段内的数据。谁能帮帮我?
我已经尝试了一些 pandas 方法,如“merge”和“combine_first”,但无法获得我想要的结果。它应该是这样的:
最佳答案
使用merge_asof
:
df3 = pd.merge_asof(df1, df2, on='Depth', tolerance=0.5, direction='nearest')
df3
:
Depth Feat1 Rock
0 0.5 58 Sand
1 1.0 48 Sand
2 1.5 34 Clay
3 2.0 62 Clay
4 2.5 27 Clay
5 3.0 40 Marl
6 3.5 58 NaN
7 4.0 38 NaN
完整的工作示例:
import numpy as np
import pandas as pd
np.random.seed(42)
df1 = pd.DataFrame({
'Depth': np.arange(0.5, 4.5, 0.5),
'Feat1': np.random.randint(20, 70, 8)
})
df2 = pd.DataFrame({
'Depth': [0.4, 1.1, 1.5, 2.2, 2.8],
'Rock': ['Sand', 'Sand', 'Clay', 'Clay', 'Marl']
})
df3 = pd.merge_asof(df1, df2, on='Depth', tolerance=0.5, direction='nearest')
print(df3)
关于python - 如何通过列的近似值组合/合并数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67778368/
我想近似 前 功能。 是否可以使用基于多个样条类型的方法来做到这一点?即在 之间x1 和 x2 , 然后 y1 = a1x + b1, between x2 and x3, 那么 y2 = a2x +
我正在尝试使用 selenium IDE,并且遇到了断言近似值的问题。我需要检查带有 id 的元素内的值。它是以逗号(“,”)作为分隔符的数值。 问题是我需要检查数值是否有效,容差为 0.01。 例如
我正在寻找一种算法(最好是在 Go 或 C 中)以在可能的分母(dmin,dmax with 1 dmax: break 有些软件,例如 Microsoft Excel,会使用分数
我想尝试寻找解决旅行商问题的启发式/近似方法,为了做到这一点,我正在寻找一些“硬”TSP 实例(连同它们最著名的解决方案),以便我可以尝试解决它们,看看我能做多好。 理想情况下,它们只是基于文本的邻接
我想要一个 VBA 查看单元格并使用 % 确定单词 XXX 是否出现在其中的任何位置。如果是,我希望 VBA 将整个单元格更改为单词 YYY。 谁能帮我解决这个问题? 最佳答案 如果您只需要更改 1
我有最后一组图 block ,其中每条边都可以有四种颜色。 任务是从这个瓷砖的给定集合(有限)中找到最大可能的正方形构建。瓷砖可以旋转。 我需要设计 3 种算法来为这个任务找到解决方案。一个完全和两个
我正在使用该系列近似 PI: 该系列的函数如下所示: (defn- pi-series [k] (/ (if (even? (inc k)) 1 -1) (dec (* 2 k))))
基本上,我一直在尝试制作两个近似函数。在这两种情况下,我都输入了“x”和“y”组件(以处理那些讨厌的 n/0 和 0/0 条件),并且需要获得 Signed Char 输出。在 ATAN2 的情况下,
我正在尝试用 C 编写 pi 的准蒙特卡洛近似值。我还不太精通它,并且正在尝试翻译我基于 python 的技能,所以我可能只是忽略了一些东西。结果我一直得到 0,我不知道为什么。我应该如何解决这个问题
我正在尝试在尾数中以 11 位精度实现快速 atan2(float)。 atan2 实现将用于图像处理。 所以最好用 SIMD 指令来实现(目标是 x86(带 SSE2)和 ARM(带 vpfv4 N
我是一名优秀的程序员,十分优秀!