gpt4 book ai didi

Python:选择具有更改值的行

转载 作者:行者123 更新时间:2023-12-01 00:17:31 26 4
gpt4 key购买 nike

假设我们有 2 个数据框,A 和 B,如下所示:

A = enter image description here B = enter image description here

可以使用以下代码进行计算:

A = pd.DataFrame([['A','A1',1], ['B','B1' ,3], ['C', 'C2', 5], ['D','D1',7], ['E','E4',9], ['F','F1',11]], columns=['Label1','Label2' , 'Value'])
B = pd.DataFrame([['A','A1', 1], ['B','B1',4], ['C','C2',3], ['D','D2',7], ['E','E4',8], ['F','F2',11]], columns=['Label1','Label2' ,'Value'])

在此示例中,标签放置在两个矩阵中的相同索引上,但情况不一定如此。

我想选择 B 的行,其中“值”与矩阵 A 中的相应值相比发生了变化(即相同的 label1 和 label2)。更好的是:是否可以单独选择值增加和减少的行?

我知道只需逐一浏览条目就可以,但我想知道是否有更有效的方法?

值增加的行的所需输出:

[B  B1 4]

值已减少的行的所需输出:

[C C2 5]
[E E4 8]

最佳答案

要处理两个数据框中都有标签的行,您可以连接数据框,然后比较两列:

A = pd.DataFrame([['A','A1',1], ['B','B1' ,3], ['C', 'C2', 5], ['D','D1',7], ['E','E4',9], ['F','F1',11]], columns=['Label1','Label2' , 'ValueA'])
B = pd.DataFrame([['A','A1', 1], ['B','B1',4], ['C','C2',3], ['D','D2',7], ['E','E4',8], ['F','F2',11]], columns=['Label1','Label2' ,'ValueB'])

df = pd.merge(A, B, on = ['Label1', 'Label2'])
df

Label1 Label2 ValueA ValueB
0 A A1 1 1
1 B B1 3 4
2 C C2 5 3
3 E E4 9 8

df['Comparison'] = np.where(df['ValueA'] > df['ValueB'], 'A>B', np.where(df['ValueA'] < df['ValueB'], 'A<B', 'A=B'))

df

Label1 Label2 ValueA ValueB Comparison
0 A A1 1 1 A=B
1 B B1 3 4 A<B
2 C C2 5 3 A>B
3 E E4 9 8 A>B

关于Python:选择具有更改值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59213576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com