这个问题与之前发布的相同.我想连接三列而不是连接两列:
这是结合两列:
df = DataFrame({'foo':['a','b','c'], 'bar':[1, 2, 3], 'new':['apple', 'banana', 'pear']})
df['combined']=df.apply(lambda x:'%s_%s' % (x['foo'],x['bar']),axis=1)
df
bar foo new combined
0 1 a apple a_1
1 2 b banana b_2
2 3 c pear c_3
Run Code Online (Sandbox Code Playgroud)
我想用这个命令组合三个列,但它不起作用,任何想法?
df['combined']=df.apply(lambda x:'%s_%s' % (x['bar'],x['foo'],x['new']),axis=1)
Run Code Online (Sandbox Code Playgroud) 我有一个包含 6000 列是基因名称的数据集。它有 6 个不同的特征 A、B、C、D、E、F,具有唯一的位置编号。我想将具有特征 A 的列除以 87,将具有特征 B 的列除以 54。
最后,我想在新列中获得每行的总和和平均值。我怎么能在R中做到这一点?
feature_A=87
feature_B=54
Run Code Online (Sandbox Code Playgroud)
输入文件
feature pos gene_1 gene_2 gene_3 gene_n
A 1 6 2 51 0
A 2 4 5 8 2
A 3 1 74 5 0
B 1 11 2 41 89
B 2 4 5 3 5
Run Code Online (Sandbox Code Playgroud)
输出文件
feature pos gene_1 gene_2 gene_3 gene_n sum_all average_all
A 1 6/87 2/87 51/87 0/87 sum_row1 average_row1
A 2 4/87 5/87 8/87 2/87 sum_row2 average_row2
A 3 1/87 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下命令将 pandas df 写入输出文件:
outFileName="myfile_" + gene_name #gene_name gets a new value from argparse
df.to_csv('%.csv' %outFileName, sep=',', index=False)
Run Code Online (Sandbox Code Playgroud)
我收到的错误::
TypeError: %c requires int or char
Run Code Online (Sandbox Code Playgroud)
我试过
outFileName=str("myfile_" + gene_name)
Run Code Online (Sandbox Code Playgroud)
并得到同样的错误。我错过了什么吗?如果我不使用变量作为输出文件名,我可以保存 df,但我需要该变量。
df:
name group S1 S2 S3
A mn 1 2 8
B mn 4 3 5
C kl 5 8 2
D kl 6 5 5
E fh 7 1 3
output:
std (S1,S2,S3)
3.78
1
3
0.57
3.05
Run Code Online (Sandbox Code Playgroud)
这是为了获取列的std:
numpy.std(df['A'])
Run Code Online (Sandbox Code Playgroud)
我想对行做同样的事情
这是我的大数据的一个子集:
gene feature reads
A anot 2
A 3ss_A 3
A 3ss_B 5
B 5ss_A 1
B anot 4
C 3ss_A 2
C 3ss_B 8
C anot 3
C 5ss_A 6
Run Code Online (Sandbox Code Playgroud)
我想将每个基因中对应于3ss和5ss特征的读数划分为该基因的"anot"特征.我有每个基因的多个特征(这里没有显示),但每个基因只有一个"anot"特征.
预期产量是:
gene feature reads ratio
A anot 2 1
A 3ss_A 3 1.5
A 3ss_B 5 2.5
B 5ss_A 1 0.25
B anot 4 1
C 3ss_A 2 0.666666667
C 3ss_B 8 2.666666667
C anot 3 1
C 5ss_A 6 2
Run Code Online (Sandbox Code Playgroud)
我怎么能在R中做到这一点?谢谢
这是我的代码,我想获得预期的输出,但是,数据帧的划分不起作用,这有什么问题?
import pandas as pd
data1 = {'name':['A', 'C', 'D'], 'cond_a':['B','B','B'], 'value':[10,12,14]}
data2 = {'name':['A', 'C', 'D','D','A'], 'cond_a':['G','G','G','G','G'], 'value':[5,6,7,3,2]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
df1.set_index('name', inplace=True)
df2.set_index('name', inplace=True)
df2['new_col'] = df2['value'] / df1['value']
Run Code Online (Sandbox Code Playgroud)
预期输出:
cond_a value new_col
name
A G 5 5/10
C G 6 6/12
D G 7 7/14
D G 3 3/14
A G 2 2/10
Run Code Online (Sandbox Code Playgroud) 我想拆分这个mystring ="0G15 ^ GAC0T60T4 ^ AA0C0"并使用python获得以下输出:
['0','G','15','^GAC','T','60','T','4','^AA','C']
Run Code Online (Sandbox Code Playgroud)
可以在R中使用此命令完成:
mystring <- "0G15^GAC0T60T4^AA0C0"
gsub("([\\^]*[ACGT]+)[0]*", " \\1 ", mystring)
Run Code Online (Sandbox Code Playgroud)
如何将R脚本翻译成python?
谢谢