在工作中有时需要对某个表的内容进行更新,可以使用pandas进行更新。

* 待更新内容data1及获取更新内容的目标表data2 import pandas as pd import numpy as np data1 = pd
.DataFrame(np.arange(0,25).reshape(5,5),columns= list('abcde'),index=list(
'mnopq')) data2 = pd.DataFrame(np.arange(30,46).reshape(4,4),columns= list(
'abcd'),index=list('mnop')) data2.loc[:,'a'] = np.arange(0,16,5) >>> data1 a b
c d e m0 1 2 3 4 n 5 6 7 8 9 o 10 11 12 13 14 p 15 16 17 18 19 q 20 21 22 23 24
>>> data2 a b c d m 0 31 32 33 n 5 35 36 37 o 10 39 40 41 p 15 43 44 45
* 如果data2中的a列值与data1的相同且data2中的b列值不为空,则将data1的b列更新为data2的b列值. for r1 in range(
data1.shape[0]): for r2 in range(data2.shape[0]): #只有data2的值不为空时才更新data1 if (
data1.iloc[r1]['a'] == data2.iloc[r2]['a']) and pd.isna(data2.iloc[r2]['b']) !=
True: #下面不能写为data1.iloc[r1]['b'],这样写数据不会更新 data1.iloc[r1,data1.columns == 'b'] =
data2.iloc[r2,data1.columns == 'b'] >>> data1 a b c d e m 0 31 2 3 4 n 5 35 7 8
9 o 10 39 12 13 14 p 15 43 17 18 19 q 20 21 22 23 24

技术
©2020 ioDraw All rights reserved
2020前端学习路线收集整理【C语言】乘法表29岁“退休程序员”郭宇: 有钱的人不一定自由,自由的人不一定有钱python gui界面实例-Python GUI编程完整示例pytorch训练过程中GPU利用率低学习java 的第一节课vue element-ui实现input输入框金额数字添加千分位对于面试官的问答: 你在项目组里拿到一个项目是怎么开展的呢???算法题的输入大总结小程序表单中 多个循环input 如何取每个input的值