如何使用新的行或值有效地更新数据框?

时间:2019-12-02 13:12:29

标签: python pandas dataframe

我目前正在使用此慢速代码来更新数据帧(从CSV读取并回写),方法是填充现有索引的列,或者如果找不到则完全添加新行。

dropna是一个数组,其中包含数据帧中可能已经存在的索引ID。

cs是要更新的数据框。 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 摆脱循环和重新创建数据帧?

0 个答案:

没有答案