我想问一个关于 Pandas groupby 的问题。我正在使用 ipython 笔记本(python3)。
例如,有一个这样的数据框。
df1 = pd.DataFrame( { "Score" : ["A", "B", "C", "A", "B", "A"] ,"Class":
["Physics", "Science", "Chemistry", "Biology", "History", "English"] } )
Run Code Online (Sandbox Code Playgroud)
然后,我想与 Score 进行分组。
df1.groupby("Score")
Run Code Online (Sandbox Code Playgroud)
我需要这个的输出文件,我尝试过
df1.groupby("Score").to_csv("Score.txt",sep="\t")
Run Code Online (Sandbox Code Playgroud)
但这不起作用。有谁知道如何制作输出文件?
我正在使用Pandas并希望从多个数据帧中提取值.例如,有三个数据帧,如下所示.
df1 = pd.DataFrame({'key': ['K0', 'K1'],
'A': ['A0', 'A1'],
'B': ['B0', 'B1']})
df2 = pd.DataFrame({'key': ['K1', 'K22'],
'C': ['C1', 'C3'],
'D': ['D1', 'D3']})
df3 = pd.DataFrame({'key': ['K1', 'K30'],
'E': ['E1', 'E3'],
'F': ['F1', 'F3']})
Run Code Online (Sandbox Code Playgroud)
如果在数据帧之间共享密钥,我想提取值.所以我在下面做了
pd.merge(df1,df2, on='key')
Run Code Online (Sandbox Code Playgroud)
这显示如下,这很好.
A B key C D
0 A1 B1 K1 C1 D1
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试超过2个数据帧,它将无法正常工作.例如,以下不起作用.
pd.merge(df1,df2,df3, on='key')
Run Code Online (Sandbox Code Playgroud)
我认为pd.merge不适合这个.有谁知道这样做的好方法?
谢谢!
我有 DNA 序列数据。例如,
X="ACGGGT"
Y="ACGGT"
Run Code Online (Sandbox Code Playgroud)
我想知道对齐分数,因此我使用了biopythonpairwise2函数。例如,
from Bio import pairwise2
from Bio.pairwise2 import format_alignment
alignments = pairwise2.align.globalxx(X, Y)
for a in alignments:
print(format_alignment(*a))
Run Code Online (Sandbox Code Playgroud)
这成功地显示了 DNA 比对,但我只需要如下的分数。有没有办法只显示分数?
我使用了biopython,但如果有更好的方法,我们将不胜感激。