2016-11-28 150 views
0

我有一个数据帧,df如下所述。它有1个对象列(基因)和7个浮动列(Grow1,Grow2,Grow3,NoGrow1,NoGrow1,Nogrow3和Mean)。Python函数获取每行的log2转换?

列值是Grow和Nogrow条件下不同基因的FPKM(基因表达值),一式三份。

我想从df创建一个新的数据帧df1。在新的数据框中,每个值必须被log2归一化为Mean。平均值列是该行所有值的平均值。

在Excel中:

我这样做:LOG((C3 + 0.1)/(I + 0.1),2),以获得新的价值Grow1/RMRP并拖动跨列和行创建整个数据帧的标准化值。

key:

C3 = 6.059720 I = 7.652560。我在这两个值中加上0.1来照顾列中的“0”值。

在熊猫:

我创建了lambda函数。如下所示,func2。但是当我应用它时,我无法得到它的工作。我尝试了很多方法,但令人沮丧。 please refer the link image for my dataframe, df and functions

还是有什么正常的功能可以做log2转换吗?

回答

0

尝试:

df1 = df.add(.1) 
df1 = np.log2(df1.drop('Mean', 1).div(df1.Mean, 0)) 
+0

感谢您的答复。 – Sasihci