我正在学习Python和Pandas,并试图找出最有效的方法来比较两个数据帧上的多个选定列,以找到匹配的列。例如,如果我有以下两个数据帧: Frame 1
A B C D E F
001 10 0 0 10 0 10
Frame 2
A B C D E F
200 10 0 10 0 10 0
201 0 10 10 0 0 10
202 0 10 0 0 0 0
2
我试图通过知道前两列中感兴趣的值,从pandas数据框中获取位于第三列的值,这将使我找到正确的值。我不知道行索引,只知道我需要在前两列中查找的值。来自前两列的值的组合是惟一的,所以我不希望得到数据帧的子集,而是只得到一行。我没有列名,所以我想避免使用它们。 以数据帧df为例 a 1 bla
b 2 tra
b 3 foo
b 1 bar
c 3 cra 我想从第二行获得tra,基于我预先知道的b和2组合。我已经尝试过使用 df = df.loc['b', :] 它返回同一列上具有b的所有行(假设我已经用index_
我有一个数据帧,我想删除其中一列(字符串)中具有空值的所有行。我可以很容易地得到它的计数: df.filter(df.col_X.isNull()).count() 我尝试使用下面的命令删除它。它会执行,但计数仍为正数 df.filter(df.col_X.isNull()).drop() 我尝试了不同的尝试,但它返回'object is not callable‘错误。
是否有一种简单的方法(或任何方式)来提取数据帧中某个条件在R中出现的第n行号?假设我有一个30列的数据框架,所有类型的值都是相同的。我想从发生某些条件的第二次出现的每一列中提取行号。提取与条件匹配的所有行的计数非常简单,但我不知道如何提取与条件的第n次出现匹配的行。
我正在考虑将数据帧转换为列表的想法,在每个数据帧中添加一个累积和列,并在累积和达到4时使用行索引(例如)。但是,肯定有比这更简单的方法。
示例:
#create data
example<-replicate(30,rnorm(n=10))
#pseudo code
which(row of 2nd negative nu
在R中,我有两个数据帧A和B如下-
数据框架A:
Name Age City Gender Income Company ...
JXX 21 Chicago M 20K XYZ ...
CXX 25 NewYork M 30K PQR ...
CXX 26 Chicago M NA ZZZ ...
数据-框架B:
Age City Gende
我正在尝试用R编写一个函数,它接受一个数据帧作为输入,并对每一对唯一的行应用一系列步骤。
例如,假设我们有一个从A行到E行的数据帧,当我将这个数据帧放入函数中时,我希望它相乘:A x B,A x C,A x D,A x E,B x C,B x D,B x E,C x D,C x E和D x E,然后将所有这些相加。这个函数需要处理任意数量的行。
我有一个场景,我希望在两个数据帧之间找到不匹配的行。这两个数据帧都有大约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的子集。