如何获得两个数据帧之间的差异。例如,我有两个数据帧
previous_asks = pd.DataFrame({'price':[1,2,3], 'amount':[10,20,30]})
current_asks = pd.DataFrame({'price':[1,2,3,4], 'amount':[11,20,30,40]})
我想收到
price':[1, 4], 'amount':[11,40]
使用熊猫:
a1 = list(range(10))
a2 = list(range(5, 8))
b1 = list('abcdefghij')
b2 = list('efy')
df1 = pd.DataFrame({'price':a1, 'amount':b1})
df2 = pd.DataFrame({'price':a2, 'amount':b2})
dict_results = dict()
for col in df1:
dict_results[col] = df1.loc[~ df1[col].isin(df2[col].values), col].values
print('--', col, dict_results[col])
给予:
-- amount ['a' 'b' 'c' 'd' 'g' 'h' 'i' 'j']
-- price [0 1 2 3 4 8 9]
使用python3:
set1 = set(a1)
set2 = set(a2)
print(set1 - set2)
给予:
{0, 1, 2, 3, 4, 8, 9}
我宁愿在这里使用python3,因为我认为它更简单/易读。如果你最初有熊猫数据帧,我会将它们转换为set
数据类型,操作它们并恢复到pd。Dataframe
如果需要。
同样值得注意的是查看pd的
.独特()
方法。系列
我正在寻找一种方法,以找到不同的值,在两个数据帧的列。例如: 数据表A: 但是,有没有一个简单的解决方案,可以只使用DataFrame操作来获得,也许除了最后的Collect?
问题内容: 我在Python中有两个列表,如下所示: 我需要用第一个列表中的项目创建第二个列表,而第二个列表中没有这些项目。从示例中,我必须得到: 有没有循环和检查的快速方法吗? 问题答案: 当心 你可能期望/希望它等于的位置。如果你想作为答案,则需要使用
问题内容: 我使用以下代码在Android中使用Gson比较了两个JSON对象: 有两种方法可以使用Gson以JSON格式获取两个对象之间的 差异 吗? 问题答案: 如果将对象反序列化为,也可以使用Guava,则可以用来比较两个生成的地图。 请注意,如果您关心元素的 顺序 ,则不会保留s 字段的顺序,因此此方法不会显示这些比较。 这是您的操作方式: 该程序输出: 在此处阅读更多有关结果对象包含哪些
问题内容: 我希望能够获得两个JavaScript对象图之间所有差异的列表,以及出现变化的属性名称和值。 就其价值而言,这些对象通常以JSON的形式从服务器中检索,并且通常不超过几层深度(即,可能是对象本身具有数据的数组,然后是具有其他数据对象的数组)。 我不仅要看到对基本属性的更改,还要看到数组成员等的数量差异等。 如果没有答案,我可能最终会自己写这个,但希望有人已经完成了这项工作或知道有人做了
问题内容: 因此,如果我有两套: 有没有一种方法可以比较它们,只返回一组4和5? 问题答案: 试试这个 设置#removeAll 从此集合中删除所有包含在指定集合中的元素(可选操作)。如果指定的集合也是一个集合,则此操作会有效地修改此集合,以使其值为两个集合的非对称集合差异。
问题内容: Java类库具有一个名为DateTime的类。DateTime具有此方法: 该参数返回此参数与参数之间的天数。它没有方法 我碰巧需要的。是否有一个类似于DateTime但有这种方法的类? 问题答案: 不熟悉DateTime … 如果您有两个日期,则可以对它们调用getTime以获取毫秒,获取diff并除以1000。例如 如果您有日历对象,则可以调用 并做同样的