python pandas DataFrame如何把两个DataFrame合并,pd.merge_ordered(), 替换df数据df.replace() ,df.apply()
python pandas DataFrame如何把两个DataFrame合并,pd.merge_ordered()
1 import pandas as pd 2 import numpy as np 3 df1 = pd.DataFrame({ 4 'datetime':['2021-01-01','2021-01-02','2021-01-03','2021-01-10'], 5 'v1':[1,0,0,1], 6 'v2':[0,0,0,0], 7 'v3':['a','b','c','d'] 8 }) 9 df2 = pd.DataFrame({ 10 'datetime':['2021-01-01','2021-01-02','2021-01-11','2021-01-12'], 11 'v1':[1,1,0,0], 12 'v2':[1,0,1,0], 13 'v3':['e','e','e','e'] 14 }) 15 print(df1) 16 print(df2) 17 18 df3 = pd.merge_ordered(df1,df2,on=['datetime'])#基于‘datetime’合并df1,df2 19 print(df3) 20 df3 = df3.replace(np.nan,0)#用0替换NAN 21 print(df3) 22 df3['v1'] = df3['v1_x'] + df3['v1_y'] 23 df3['v2'] = df3['v2_x'] + df3['v2_y'] 24 df3 = df3.replace(2,1) 25 df3['v3'] = df3.apply(lambda x: x['v3_y'] if x['v3_x'] == 0 else x['v3_x'],axis=1)#当df1['v3']没有值时,取df2['v3'],否则取df1['v3'] 26 print(df3)
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?