我有一个包含1000行和50列的数据框。我有第二个数据帧,包含10行和2列。第一列是旧数据框中该列的值,第二列包含新值。
我想将原始数据框中特定列中的所有值替换为第二个数据帧中的值。
我考虑过合并concat和join,但是由于您要替换/更新特定列中的值而不是添加新列,所以它们都不会起作用。
让第一个数据帧为df1,并且必须更新某些行的列名为'old_column'
第二个较小的数据帧是df2,包含2列,'old_column','new_column'。
答案 0 :(得分:0)
您想要研究pandas.Series的replace方法。
df1 = pd.DataFrame({'old_column':[1,2,3,4]})
# df1
# old_column
# 0 1
# 1 2
# 2 3
# 3 4
df2 = pd.DataFrame({'old_column':[2,4], 'new_column':[20,40]})
# df2
# new_column old_column
# 0 20 2
# 1 40 4
df1.old_column.replace(df2.set_index('old_column')['new_column'], inplace=True)
# df1 after replacement
# old_column
# 0 1
# 1 20
# 2 3
# 3 40