I have two dataframes. The row names in both are dates. What I want to do is, I want to select all the common rows (having same dates) in both the data frames and create a new data frame having only these common rows.
Of course the individual columns would get appended next to each other.
Can anyone please help??
Intersection of Two data frames in Pandas can be easily calculated by using the pre-defined function merge() . This function takes both the data frames as argument and returns the intersection between them.
To find the common rows between two DataFrames with merge(), use the parameter “how” as “inner” since it works like SQL Inner Join and this is what we want to achieve.
Try:
merge(df1, df2, by="row.names")
?merge
Can also use by=0 instead of 'row.names'. And BTW the rownames are not R Date class, but are character valued. I suppose one could also do this:
cbind( df1[ intersect(rownames(df1), rownames(df2)), ] ,
df2[ intersect(rownames(df1), rownames(df2)), ] )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With