python - 如何根据另一个数据框中的值的条件填充数据框?
问题描述
我有两个数据框:
df_new
:
time_start 0 1313575263 1 1313575263 2 1313575263 3 1313579775 4 1313579775
df_information
:
my_start value 0 1313575263 foo 1 1313579775 bar
我想使用 中的值df_information
来填充 中的新列df_new
。如果my_start
indf_information
匹配time_start
in df_new
,则使用相应value
的 indf_information
进行填充df_new
。这是我想要的输出:
time_start value 0 1313575263 foo 1 1313575263 foo 2 1313575263 foo 3 1313579775 bar 4 1313579775 bar
我想出了一种使用两个嵌套循环来做到这一点的方法,但是由于我实际上正在处理大型数据帧,因此运行需要很长时间:
import pandas as pd
import numpy as np
dict1={'time_start':[1313575263,1313575263,1313575263,1313579775,1313579775]}
dict2={'my_start':[1313575263,1313579775],'value':['foo','bar']}
df_new=pd.DataFrame.from_dict(data=dict1)
df_information=pd.DataFrame.from_dict(data=dict2)
df_new['value']=np.nan
for index_new, row_new in df_new.iterrows():
for index_information, row_information in df_information.iterrows():
if row_information['my_start']==row_new['time_start']:
df_new['value'][index_new]=df_information['value'][index_information]
有没有更有效的方法来做到这一点?在此先感谢您的帮助!
解决方案
推荐阅读
- java - Payara 5.184 上没有调用拦截器
- amazon-web-services - Drupal 8:作曲家安装问题
- c# - 如何将值添加到 Json 数组中以设置相等的数组大小
- reactjs - 在 Jest 和 Puppeteer 中设置和访问环境变量
- python-3.x - 搜索具有不同文件扩展名的多个文件(Python3)
- python - 如何在 django 中引用 ForeignKey 来填充谱系表?
- erc20 - 创建 CREDITS 错误:错误:[ethjs-rpc] rpc 错误,有效载荷 {"id":291279815469,"jsonrpc":"2.0","params"
- node.js - Lusca csrf 未按预期工作 - 使用旧令牌的 http 请求
- ruby-on-rails - Completed 401 Unauthorized - 设计 devise_parameter_sanitizer 不允许任何值
- ios - Swift 中两个字符之间的差异(引号与智能/卷曲引号)