根据来自另一个数据框的查找值创建一个熊猫列

瓦卡拉顿

我有一个pandas数据框,该数据框按小时具有一些数据值(这也是index此查找数据框的值)。数据框如下所示:

In [1] print (df_lookup) 
Out[1] 0     1.109248
       1     1.102435
       2     1.085014
       3     1.073487
       4     1.079385
       5     1.088759
       6     1.044708
       7     0.902482
       8     0.852348
       9     0.995912
       10    1.031643
       11    1.023458
       12    1.006961
       ...
       23    0.889541

我想将这个查找数据框中的值相乘,以创建另一个数据框的列,该列的日期时间为索引。数据框如下所示:

In [2] print (df)
Out[2] 
Date_Label           ID  data-1  data-2    data-3
2015-08-09 00:00:00  1   2513.0    2502     NaN  
2015-08-09 00:00:00  1   2113.0    2102     NaN  
2015-08-09 01:00:00  2   2006.0    1988     NaN  
2015-08-09 02:00:00  3   2016.0    2003     NaN 
...
2018-07-19 23:00:00  33  3216.0    333      NaN  

我想data-3data-2列中计算列,其中赋予“ data-2”列的权重取决于df_lookup中的相应值。我通过如下遍历索引来获得所需的值,但这太慢了:

for idx in df.index:
   df.loc[idx,'data-3'] = df.loc[idx, 'data-2']*df_lookup.at[idx.hour]

有人可以建议更快的方法吗?

BEN_YO

使用 .loc

df['data-2']*df_lookup.loc[df.index.hour].values
Out[275]: 
Date_Label
2015-08-09 00:00:00    2775.338496
2015-08-09 00:00:00    2331.639296
2015-08-09 01:00:00    2191.640780
2015-08-09 02:00:00    2173.283042
Name: data-2, dtype: float64
#df['data-3']=df['data-2']*df_lookup.loc[df.index.hour].values

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据来自另一个数据框的值创建新的数据框

根据来自另一个数据框的行范围添加/填充熊猫列

根据来自另一个数据框列的值选择列值

根据另一个数据框的列值创建一个数据框

根据来自另一个数据框的多个列条件创建列

根据另一个数据集中的列值在一个数据框中创建列

根据另一个数据框列的唯一值创建一个新的数据框

基于来自另一个数据框熊猫的匹配值的新列

根据来自另一个的组值填充一个数据框

根据另一个数据框python熊猫替换列值-更好的方法?

根据熊猫中的另一个数据框更改列中的值

根据来自另一个数据框的值查找数据框值的平均值

如何根据另一个数据框中的查找值替换熊猫数据框值?

根据与另一个数据框中的值匹配的行数创建新列

Python Pandas:根据另一个数据框的类别值创建新列

根据另一个数据框创建新的熊猫数据框

数据框 - 根据来自另一个数据框的输入插入值

根据另一个数据框的列填充熊猫数据框列

根据另一个数据框向熊猫数据框列添加值

根据来自另一个数据框的值将列添加到数据框

熊猫:根据另一个数据框中的值在数据框中添加新列

根据关键列值熊猫将一个数据框中的行与另一个数据框中的行匹配

尝试使用Python / pandas根据来自另一个数据框的一列的内部和创建一个新的数据框

R:创建新的数据框行是来自另一个数据框的列

根据另一个数据框的值删除一个数据框的行和列

搜索和查找从另一个数据框中的一个数据框中搜索值,并根据熊猫中的查找值填充新列

根据另一个数据框值对熊猫值进行排序

熊猫gropuby [['col_name','来自另一个数据框的值']]

根据来自另一个数据框的两列过滤数据