我有一个场景,我希望在两个数据帧之间找到不匹配的行。这两个数据帧都有大约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的子集。
假设我有两个数据帧A和B,每个数据帧包含两个名为x和y的列。我希望连接这两个数据帧,但不是连接在两个数据帧中x和y列相等的行上,而是连接在A的x列是B的x列的子字符串且y列相同的行上。
if A[x][1]='mpla' and B[x][1]='mplampla'
我希望它能被捕获。
在sql上,它可能类似于:
select *
from A
join B
on A.x<=B.x and A.y<=B.y.
这样的事情能在python上完成吗?
在我的具体情况下,我有两个数据框架:
> a
column
1 red apple
2 red car
3 yellow train
4 random
5 random string
6 blue water
7 thing
> map
x y
1 red color
2 blue color
3 yellow color
4 random other
5 thing other
我想要的结果是:
> a
column
1 colo
我有两个数据帧,如下: DF1:
Name Value
buying fish hook 240
arrange lunch 75
repair equipment 800
purchase air condition 1400
buying fish 66
DF 2:
Name
fish
lunch
equipemt
air condition
hair condition
fish hook
我想用模糊逻辑匹配来自两个数据帧的名称列中的名称,并将第二个数据帧中的名称列
我正在尝试在充满组织名称的PANDAS列中寻找潜在的匹配项。我目前正在使用iterrows(),但它在大约有70,000行的数据帧上非常慢。在查看了StackOverflow之后,我尝试实现了一个lambda row (apply)方法,但这似乎几乎不能加快速度。
数据帧的前四行如下所示:
index org_name
0 cliftonlarsonallen llp minneapolis MN
1 loeb and troper llp newyork NY
2 dauby o'connor and zaleski llc carmel IN
3 wegner c
虽然在matrix中允许重复的行(和列)名称,但在data.frame中不允许。尝试rbind()一些具有共同行名的数据帧会突出这个问题。考虑下面的两个数据帧:
foo = data.frame(a=1:3, b=5:7)
rownames(foo)=c("w","x","y")
bar = data.frame(a=c(2,4), b=c(6,8))
rownames(bar)=c("x","z")
# foo bar
# a b a b
# w 1 5
我是R的新手,所以我在问一个基本的问题。
我有两个数据帧
数据帧1包含匹配对:
Factor1 Factor2
A D
B E
C F
数据帧2包含不同样本中不同因素的水平:
Sample1 Sample2
A 10 0
B 10 0
C 0 0
D 0 10
E 0 10
F 0 0
我正在尝试遍历第一个数据帧。对于数据帧1中的每一行,如果样本1中factor1的电平大于5,并且样本2中因子2的电平大于5,则在数据帧1中添加第三列中的TRUE,否则添
我正在尝试合并两个都有'product_desc‘列的数据帧。我使用的是Pandas 0.13和Python 2.7。
small_df = pd.merge(small_df, linregress_df, on = 'product_desc', how = 'left')
但是,我得到以下错误:
pandas.core.index.InvalidIndexError: Reindexing only valid with uniquely valued Index objects
我将两个数据帧导出到平面文件中,其中的索引或其他列都没有重复值。我需
我正在学习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
我有两个熊猫数据帧:
数据帧1:
ITEM ID TEXT
1 some random words
2 another word
3 blah
4 random words
数据帧2:
INDEX INFO
1 random
3 blah
我想要将( dataframe 2的) INFO列的值与dataframe 1的TEXT列进行匹配。如果匹配,我希望看到一个新的列带有"1“。
如下所示:
ITEM ID TEXT MATCH
1 some random words
当两个数据帧被一个数字列合并时(默认情况下),它们将由该列作为一个数字排序。但是,如果使用两个数值列作为by,则会产生不同的排序(实际上,似乎数字列被转换为字符串并按字符串排序)。这是意料之中的,还是一个bug?
例如,考虑以下两个数据框架:
A <- data.frame(a = 1:12, b = 1, x = runif(12))
B <- data.frame(a = 1:12, b = 1, y = runif(12))
然后merge(A, B, by = 'a')生成一个列a值为1、2、.、9、10、11、12的数据帧(即期望的数值排序)。但是,mer
具体来说,我想迭代两个数据文件,一个是大的,另一个是小的。
最后,我想比较一下某一列中的值。
我试着创建一个嵌套的for循环;外部循环遍历大型dataframe,内部循环迭代小的dataframe,但是我遇到了困难。
我正在寻找一种方法来识别我的大型数据文件中的"name“和"value”,它们与我的小dataframe匹配。
背景信息:我正在使用熊猫库。
大型数据帧:
小数据集:
Name Value
SF 12.84
TH -49.45