如果我有一个数据帧
name | datetime | price
---------------------------
APL | 10-1-12 | 1.92
BBC | 10-1-12 | 4.16
CPL | 10-1-12 | 4.99
APL | 10-2-12 | 2.05
BBC | 10-2-12 | 5.16
CPL | 10-2-12 | 3.99
我想创建一个新的专栏:APL\u price,以及其他任何一个专栏 名字的datetime与APL的datetime匹配,我想用 当时的APL价格如下:
name | datetime | price | APL_price
-------------------------------------
APL | 10-1-12 | 1.92 | 1.92 (or null is ok)
BBC | 10-1-12 | 4.16 | 1.92
CPL | 10-1-12 | 4.99 | 1.92
APL | 10-2-12 | 2.05 | 2.05 (or null)
BBC | 10-2-12 | 5.16 | 2.05
CPL | 10-2-12 | 3.99 | 2.05
我在考虑写一个helper函数来遍历所有的东西 找到一个日期时间匹配,但不确定是否有更快的方法。你知道吗
您可以通过^{} 为没有值的所有值
NaN
创建APL
,然后通过ffill
向前填充来替换NaN
:用^{} 和
!=
反转掩模的替代解决方案:细节:
更一般的解决方案在第一步中是类似的,但随后使用
groupby
bydatetime
s和ffill
以及bfiil
来替换两个方向的NaN
s:相关问题 更多 >
编程相关推荐