我有一个数据框和同一数据框的更新版本,第 1 行中的颜色已更改,第 2 行已删除并附加了一行。
我想将具有新 ID 的行附加到旧数据框,然后比较两个数据框并将比较结果(例如“新条目”、“更新颜色”、“条目删除”或“无更改”)写入“比较”栏。
Name Colour ID Compare
0 Lisa Red Apple
1 Anna Blue Banana
2 Anna Yellow Orange
3 Max Green Pear
Name Colour ID
0 Lisa Purple Apple
1 Anna Yellow Orange
2 Peter Pink Grape
我已经尝试了几种使用 .iloc 和 .where 的方法,但是我对选择/操作太缺乏经验,所以没有成功。这是我想要实现的目标:
Name Colour ID Compare
0 Lisa Red Apple Colour changed
1 Anna Blue Banana Entry deleted
2 Anna Yellow Orange No changes
3 Max Green Pear New entry
我很感激任何帮助。
这是为了创建数据框:
import pandas as pd
data = {'Name': ['Lisa', 'Anna', 'Anna', 'Max'],
'Colour': ['Red', 'Blue', 'Yellow', 'Green'],
'ID': ['Apple', 'Banana', 'Orange', 'Pear'],
'Compare': ['','','','']}
df = pd.DataFrame(data, columns = ['Name', 'Colour', 'ID', 'Compare'])
updatedDf = df.copy()
updatedDf = updatedDf.iloc[:, :-1]
updatedDf.set_value(0, 'Colour', 'Purple')
updatedDf = updatedDf.drop(1)
newrow = ['Peter', 'Pink', 'Grape']
updatedDf.loc[len(updatedDf)] = newrow
updatedDf = updatedDf.reset_index(drop=True)
Qyouu
相关分类