Python中文
首页
教程
问答
标签
搜索
登录
注册
基于列的两数据帧求交
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设我有以下两个数据帧:</p> <pre><code>df1: Composite Beta_value Chromosome Start End Gene_Symbol 0 cg00000029 0.297449111 chr16 53434200 53434201 RBL2 1 cg00000108 0.660066803 chr3 37417715 37417716 C3orf35 2 cg00000109 0.660066803 chr3 172198247 172198248 FNDC3B 3 cg00000165 0.660066803 chr1 90729117 90729118 C3orf35 4 cg00000236 0.905679244 chr8 42405776 42405777 VDAC3 df2: Composite Beta_value Chromosome Start End Gene_Symbol 2 cg00000109 0.660066803 chr3 172198247 172198248 FNDC3B 3 cg00000165 0.660066803 chr1 90729117 90729118 C3orf35 4 cg00000236 0.905679244 chr8 42405776 42405777 VDAC3 46 cg00002116 0.017114732 chr17 81703380 81703381 MRPL12 47 cg00002145 0.780230816 chr2 237340893 237340894 COL6A3 48 cg00002190 0.781140134 chr8 19697522 19697523 CSGALNACT1 49 cg00002224 0.220786047 chr8 143038982 143038983 C8orf31 </code></pre> <p>我想要的是根据“Start”和“Gene\u Symbol”列找到这两个数据帧的交集,如果它们的“Start”和“Gene\u Symbol”与df2中的行匹配,则只保留df1中的行。 例如,我希望结果如下所示:</p> <pre><code> Composite Beta_value Chromosome Start End Gene_Symbol 2 cg00000109 0.660066803 chr3 172198247 172198248 FNDC3B 3 cg00000165 0.660066803 chr1 90729117 90729118 C3orf35 4 cg00000236 0.905679244 chr8 42405776 42405777 VDAC3 </code></pre> <p>我所说的交集并不意味着合并数据帧并最终得到12列,就像我使用:</p> <pre><code>intersection = pd.merge(df1, df2, how='inner', on=['Start','Gene_Symbol']) s1.dropna(inplace=True) </code></pre> <p>合并了两个数据框中的列,例如:</p> <pre><code>intersection.columns Index(['Composite Element REF_x', 'Beta_value_x', 'Chromosome_x', 'Start', 'End_x', 'Gene_Symbol', 'Gene_Type_x', 'Transcript_ID_x', 'Position_to_TSS_x', 'CGI_Coordinate_x', 'Feature_Type_x', 'Composite Element REF_y', 'Beta_value_y', 'Chromosome_y', 'End_y', 'Gene_Type_y', 'Transcript_ID_y', 'Position_to_TSS_y', 'CGI_Coordinate_y', 'Feature_Type_y'], dtype='object') </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>仅使用df2中所需的列</p> <pre><code>pd.merge(df1, df2[['Start','Gene_Symbol']], on=['Start','Gene_Symbol']) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
2 回答
如何在乒乓球游戏中阻止球
9 回答
如何在乘法和模中不乘空间?
9 回答
如何在乘法和除以2个不同的数字之间进行交换?
5 回答
如何在也是数据一部分的单个字符上拆分大字符串
6 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
3 回答
如何在事件wxWidgets中传递自定义数据
6 回答
如何在事件中使用lambda i=i?
4 回答
如何在事件中心只接收最近的数据
1 回答
如何在事件发生之前保持云函数运行?
5 回答
如何在事件发生后使页面重定向到同一页面
6 回答
如何在事件回调之间保持python生成器的状态
6 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
6 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
3 回答
如何在事件处理程序中访问外部对象?
3 回答
如何在事件循环中将协程打包为正常函数?
10 回答
如何在事件循环之外运行协同程序?
5 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
6 回答
如何在事件文件中只保留一份摘要?
9 回答
如何在事件模板中添加事件
8 回答