python - 比较两个数据框熊猫
问题描述
我有两个都包含数字的数据框。它们都具有相同的大小 10x350(十列和 350 行)我想比较它们并“做一些逻辑”
以下是一些摘录作为说明:
Dataframe 1: Dataframe 2:
A B C A B C
47.7 20.2 12.1 90.7 73.8 216.7
47.2 20 11.9 114.9 68 155.6
46.4 19.6 11.7 110.8 67.8 160.3
我想比较数据帧,如果数据帧 2 的值更高,则存储差异。
(在此示例中,数据框 2 中的所有值都较高)最后应将列的所有差异相加
在这种情况下,差异的总和是:
Sum_A = 175.1
Sum_B = 149.8
Sum_C = 496.9
我认为使用:
for index, row in df1.iterrows():
可能。但是我无法比较两个数据框的工作
解决方案
def VerifyTable(context,actual_table, expected_table):
n = []
for actual_tablecolumns in actual_table.columns:
n.append(actual_tablecolumns)
print (n)
m = []
for expected_tablecolumns in expected_table.columns:
m.append(expected_tablecolumns)
print (m)
if n == m:
for actual_tablevalues in actual_table.values:
nn.append(actual_tablevalues)
print (nn)
mm = []
for expected_tablevalues in expected_table.values:
mm.append(expected_tablevalues)
if nn == mm:
return True
return False
另一个代码
def VerifyTable(context, actual_table, expected_table):
#print("row count in actual table: " + str(len(actual_table.values)))
currentRowIndex = -1
currentColIndex = -1
for row in actual_table.values:
currentRowIndex = currentRowIndex + 1
currentColIndex = -1 #reset column index
for cell_by_column in row:
currentColIndex = currentColIndex + 1
assert cell_by_column == expected_table.values[currentRowIndex][currentColIndex], "Mismatch of corresponding cells comparing actual and expected: " + cell_by_column + " != " + expected_table.values[currentRowIndex][currentColIndex]
#TODO: Write code to compare/verify column headers as well!
推荐阅读
- mongodb - 想要加入两个集合,结果应该从两个集合中过滤
- api - 在 Instagram Basic Display API 上获取个人资料图片
- d3.js - D3折线图没有从CSV数据中绘制我的路径
- python - Openpyxl:遍历单个列中的特定行子集
- javascript - 为什么我的导航栏只有在缩小时才会向右溢出?
- azure - Azure:统一日志记录和端到端跟踪
- android - 如何从版本计算android版本代码?离子应用
- angular - 找不到名称“属性”。放大认证
- unicode - 如果我的程序仅适用于 Unicode 编码的文件,我是否可以考虑如果没有提供 BOM,编码是没有 BOM 的 UTF-8?
- java - 递归打印方法