我目前正在使用这个缓慢的代码来更新数据帧(从CSV读取并写回),方法是填充现有索引的列,或者如果找不到,则完全添加新行
cs
是一个数组,它包含的索引ID可能已经在数据帧中,也可能不在数据帧中
meta_df
是要更新的数据帧。
new_fill()
检查行中的值是否与给定c
的预期值相同
for c in cs:
row = None
if c in meta_df.index:
mrow = meta_df.loc[c]
if not mrow.isnull().values.any():
continue
row = get_ideal_row(c)
if not new_fill(mrow, row): # is current row as expected?
continue
else:
row = get_ideal_row(c)
meta_df = db.add2DF(meta_df, row) #re-creates dataframe with new row
def new_fill(mrow, row):
mrow_dict = mrow.to_dict()
for key, val in mrow_dict.items():
if pandas.isnull(val):
new_val = row[key]
if new_val:
return True
return False
如何实现同样的产出,但更有效?用add2DF()
摆脱循环和数据帧的重新创建
目前没有回答
相关问题 更多 >
编程相关推荐