我有一个熊猫系列
object x
Ezh2 2
Hmgb 7
Irf1 1
Run Code Online (Sandbox Code Playgroud)
我想将此保存为一个数据框,其中包含列名Gene和Count,我试过了
x_df = pd.DataFrame(x,columns = ['Gene','count'])
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我想要的最终形式是
Gene Count
Ezh2 2
Hmgb 7
Irf1 1
Run Code Online (Sandbox Code Playgroud)
你能建议怎么做吗?
我有一个pandas DataFrame df:
import pandas as pd
data = {"Name": ["AAAA", "BBBB"],
"C1": [25, 12],
"C2": [2, 1],
"C3": [1, 10]}
df = pd.DataFrame(data)
df.set_index("Name")
Run Code Online (Sandbox Code Playgroud)
打印时看起来像这样(供参考):
C1 C2 C3
Name
AAAA 25 2 1
BBBB 12 1 10
Run Code Online (Sandbox Code Playgroud)
我想选择哪些行C1,C2并且C3在0和之间有值20.
你能建议一种优雅的方式来选择这些行吗?
我有一个像df一样的pandas数据框,带有一个列construct_name
construct_name
aaaa_t1_2
cccc_t4_10
bbbb_g3_3
Run Code Online (Sandbox Code Playgroud)
等等.我想首先拆分下划线的所有名称,并将第一个元素(aaaa,cccc等)存储为另一个列名.
预期产出
construct_name name
aaaa_t1_2 aaaa
cccc_t4_10 bbbb
Run Code Online (Sandbox Code Playgroud)
等等.
我尝试了以下内容
df['construct_name'].map(lambda row:row.split("_")),它给了我一个列表
[aaaa,t1,2]
[cccc,t4,10]
Run Code Online (Sandbox Code Playgroud)
等等
但是,当我这样做
df['construct_name'].map(lambda row:row.split("_"))[0]获取列表的第一个元素我得到一个错误.你能建议解决吗?谢谢
我有一个DataFrame df:
name count
aaaa 2000
bbbb 1900
cccc 900
dddd 500
eeee 100
Run Code Online (Sandbox Code Playgroud)
我想查看与计数列的中位数相差10倍的行.
我试过df['count'].median()并得到了中位数.但不知道如何进一步.你能建议我如何使用pandas/numpy吗?
预期产出:
name count distance from median
aaaa 2000 *****
Run Code Online (Sandbox Code Playgroud)
我可以使用任何度量作为距中位数的距离(绝对偏离中位数,分位数等).
我试图匹配包含字符串的文件中的行说ACTGGGTAAACTA.如果我做
grep "ACTGGGTAAACTA" file
Run Code Online (Sandbox Code Playgroud)
它给了我完全匹配的行.有没有办法允许一定数量的不匹配(替换,插入或删除)?例如,我正在寻找序列
最多3个允许的格式,如"AGTGGGTAACCAA"等.
插入/删除(部分匹配,如"ACTGGGAAAATAAACTA"或"ACTAAACTA")
如何检查字符串中是否存在字母“N”。例子:
flag = False
if string contains N:
flag = True
Run Code Online (Sandbox Code Playgroud)
所以flag = True如果字符串是"CNDDDNTD",flag = False如果字符串是"CCGGTTT"。我认为 re.search 会起作用,但不确定要使用的选项。
我有序列L的列表(序列的1000多家公司)l = [ABCD,AABA,...].我还有一个f包含许多4个字母序列的文件(大约一百万个).我想l为每个序列选择最接近的字符串,f最多为汉明距离2,并更新计数器good_count.我为此编写了以下代码,但速度非常慢.我想知道它是否可以更快地完成.
def hamming(s1, s2):
if len(s1) != len(s2):
raise ValueError("Undefined for sequences of unequal length")
return sum(ch1 != ch2 for ch1, ch2 in zip(s1, s2))
f = open("input.txt","r")
l = [ABCD,AABA,...]
good_count = 0
for s in f:
x = f.readline()
dist_array = []
for ll in l:
dist = hamming(x,ll)
dist_array.append(dist)
min_dist = min(dist_array)
if min_dist <= 2:
good_count += 1
print good_count
Run Code Online (Sandbox Code Playgroud)
它的工作原理快,如果l和f …
我有一个 Pandas 数据框,我想按列的降序排序。
Name count
AAAA -1.1
BBBB 0
CCCC -10
DDDD inf
EEEE 3
FFFF NaN
GGGG 30
Run Code Online (Sandbox Code Playgroud)
我想分类数量降序排列并移动inf和NaN行结束。
df.sort('count',ascending = False,na_position="last")推NaN到最后。怎么处理inf?
我有一个熊猫数据框
df = pd.DataFrame([[0,1,10,15],[1,5,7,10],[10,15,0,0]], columns=['Apple','Orange','Banana','Pear'], index=['basket1','basket2','basket3'])
Run Code Online (Sandbox Code Playgroud)
我需要生成一个看起来像的数据框
Fruit Apple Orange Banana Pear mean_basket
basket1 0 1 10 15 6.5
basket2 1 5 7 10 5.75
basket3 10 15 0 0 6.25
mean_fruit 3.66 7 5.66 8.33 6.16
Run Code Online (Sandbox Code Playgroud)
我这样做df['mean_basket'] = df.mean(axis=1)并生成了最后一栏。通过 df.mean(axis=0),我得到了每列的平均值,但我不知道如何将其作为新行添加到数据框中。请帮忙。
我有两个清单
A = ["ATTTGTA", "ATTTGTA", "ATTTGTA", "ATTTGTA"]
A_modified = ["ATTGTA", "AAAT", "TTTA"]
Run Code Online (Sandbox Code Playgroud)
我想要一个输出选项卡分隔txt文件看起来像
ATTTGTA ATTGTA
ATTTGTA AAAT
ATTTGTA TTTA
Run Code Online (Sandbox Code Playgroud)
我尝试了下面的一段代码,但它没有在两列中写o/p,每次都是新行
with open ('processed_seq.txt','a') as proc_seqf:
proc_seqf.write(A)
proc_seqf.write("\t")
proc_seqf.write(A_modified)
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出
ATTTGTA
ATTGTA
ATTTGTA
AAAT
ATTTGTA
TTTA
Run Code Online (Sandbox Code Playgroud)