我有一个场景,我希望在两个数据帧之间找到不匹配的行。这两个数据帧都有大约30列和一个唯一标识每条记录/行的id列。因此,我想检查df1中的行是否与df2中的行不同。df1是更新后的数据帧,df2是以前的版本。 我尝试了一种方法pd.concat([df1, df2]).drop_duplicates(keep=False),但它只是将两个数据帧结合在一起。有办法做到这一点吗。如果能帮上忙我会很感激的。 这两个dfs的示例数据如下所示。 id user_id type status 总共有39列,其中可能包含NULL值。 谢谢。 P.S. df2将始终是df1的子集。
我有两个数据帧。其中一个被认为是一个引用并具有每个值,另一个可能是缺失的值,也可能不是缺失的值。我想比较这两个数据帧,然后从另一个具有NA的参考数据帧中删除值。但是,数据帧中可能有缺失值的每一行都需要作为单个比较来处理,因此您正在为每一行开发一个唯一的引用。例如,引用dataframe(1):
var1 var2 var3
1 a b c
2 q w e
3 z x n
其他数据框架(2):
var1 var2 var3
1 p o i
2 u
假设我有2个Pandas数据帧,df维度为297232 x 122维度,df_raw维度为840380x122维度。df已经是df_raw的一个子集。两个数据帧的索引都是DateTime。我想从df中取值的70%,从df_raw中取值的30% (如果需要,可以随机采样),同时确保采样的数据帧子集在索引方面没有重叠。
更准确地说,df_subset将从df中随机选择70%个值,df_raw_subset将从df_raw中随机选择30%个值,但df_subset和df_raw_subset不应该包含采样行方面的重叠,即它们应该具有唯一的DateTime索引。
我正在尝试检查一个数据帧中的行是否存在于另一个数据帧中,如果存在,我想将它们从两个数据帧中删除。到目前为止,我看到的所有示例都使用pd.merge,但它们合并到一个数据帧中。我的目标是保留两个单独的数据帧,只删除公共行。
示例如下:
df1:
id name class Grade
0 2547 John Math 119.01
1 2547 Joe
我有两个具有相同结构的I的数据帧:
X, Y, Value, ID
这两者之间的唯一区别应该是列值中的值--它可能首先需要按ID排序,因此两者都有相同的行顺序来确保。
我希望根据列值逐行比较这两个数据帧,并根据值较大的位置将该行保持在第一或第二行。我还想看看如何从两个数据帧中为值列的和添加额外的列和。
我会为任何例子感到高兴,包括使用numpy,如果你觉得它是更好使用这个比潘达。
编辑:,在测试了第一个答案中的示例之后,我才意识到,我所拥有的数据帧完全丢失了ids为null的行。这使得两个数据帧具有不同的行数。因此,还可以包括如何使它们在比较之前保持相同的大小--使用ID和0从彼此之间添加缺少
我有一个很大的数据帧(大约500万行),其中包含一些错误的数据。我已经识别了具有错误数据的行的索引,现在我正在尝试从数据帧中删除“错误”的行。 由于数据帧的大小,我在读取csv时使用了chunksize功能。为了跳过“错误”的行,我使用了skiprows和error_bad_lines features。我还使用low_memory特性来防止警告(出于示例的目的,我只读取了前20000行)。然后,我将新数据帧保存在新的csv中。 问题是,只有前9个“错误”行被跳过,然后“错误行”仍然被读取(并保存到输出csv)。 下面是我的代码: for df in pd.read_csv('dat