样品代码:
import pandas as pd
data_list1 = [[1, "p1", 10.0, 20.0],[2, "p2", 15.0, 25.0],[3, "p3", 20.0, 30.0]]
df1 = pd.DataFrame(data_list1, columns=['id', 'p_name', 'qty1', 'qty2'])
data_list2 = [[1, "p1", 12.0, 22.0],[2, "p2", 16.0, 25.0],[3, "p3", 20.0, 34.0], [4, "p4", 32.0, 32.0]]
df2 = pd.DataFrame(data_list2, columns=['id', 'p_name', 'qty1', 'qty2'])
print(df1)
print(df2)
例如,如果有2个Pandas数据框,我想添加一个新列,列已经改变。基本上比较新的数据与旧的基于qty1,qty2列,看看是否有什么改变。
输入1:
id p_name qty1 qty2
0 1 p1 10.0 20.0
1 2 p2 15.0 25.0
2 3 p3 20.0 30.0
输入2:
id p_name qty1 qty2
0 1 p1 12.0 22.0
1 2 p2 16.0 25.0
2 3 p3 20.0 34.0
3 4 p4 32.0 32.0
预期产出:
id p_name qty1 qty2 update_reason
0 1 p1 12.0 22.0 qty1,qty2
1 2 p2 16.0 25.0 qty1
2 3 p3 20.0 34.0 qty2
3 4 p4 32.0 32.0
1条答案
按热度按时间3pvhb19x1#
假设 Dataframe 已经在其索引上对齐,则可以用途:
如果首先要对齐列的子集:
输出:
不同的行数,按“id”对齐
输出: