我有2个相似的数据框,我想根据条件将第一数据框的每一行与第二数据框进行比较。数据框如下所示:
基于此比较,我想使用新列'change'生成类似的数据框,其中包含基于以下条件的更改:
如果行的值相似,则为'change'='identical',否则,如果日期更改为'change'='new date'。
答案 0 :(得分:0)
这是一个简单的解决方法。
# Import pandas library
import pandas as pd
# One dataframe
data = [['foo', 10], ['bar', 15], ['foobar', 14]]
df = pd.DataFrame(data, columns = ['Name', 'Age'])
# Another similar dataframe but foo age is 13 this time
data = [['foo', 13], ['bar', 15], ['foobar', 14]]
df2 = pd.DataFrame(data, columns = ['Name', 'Age'])
df3 = df2.copy()
for index, row in df.iterrows():
if df.at[index,'Age'] != df2.at[index,'Age']:
df3.at[index,'Change']="Changed"
df3["Change"].fillna("Not Changed",inplace = True)
print(df3)
Name Age Change
0 foo 13 Changed
1 bar 15 Not Changed
2 foobar 14 Not Changed