我基本上没有Pandas的经验,我试图强迫自己更多地使用它。
我尝试基于特定列连接多个 Dataframe 的“计数”以创建计数矩阵。我通常使用很好的旧python字典来做这件事,但是如果有一种简单的方法可以用pandas来做这件事,我会有兴趣学习。
我有多个 Dataframe 。它们的大小不一样。GeneID和geneName基本上是一样的。只是识别基因的方法不同。
我的 Dataframe 看起来像这样:
Dataframe 1:
geneID geneName count
0 A123 ABC 202
1 B456 DEF 30
2 C789 GHI 265
Dataframe 2:
geneID geneName count
0 X999 FOO 700
1 B456 DEF 606
2 C789 GHI 777
如果基因名称/基因ID不存在于任何 Dataframe 中,则其在矩阵文件中应具有计数值“0”。
以下是加入计数后的预期结果:
geneID geneName df1 df2 df3 ...
0 A123 ABC 202 0
1 B456 DEF 30 606
2 C789 GHI 265 777
3 X999 FOO 0 700
提前感谢任何解决方案,以及任何Pandas学习技巧!
2条答案
按热度按时间quhf5bfb1#
尝试
pd.concat
:输出:
或者
concat
然后pivot_table
:或者使用
concat
中的选项key
的类似方法:3wabscal2#
这里有一个替代方法:
或
或