合并两个数据帧并尝试有效地访问和使用数据

时间:2018-03-11 10:59:19

标签: python pandas dataframe

我有一个导入的模板,该模板是一个包含指定True或False的探测器名称的表(如果探测器稍后用于QC目的),例如:

ProbeName QC
probe 1 True
probe 2 True
probe 3 True
probe 4 False
probe 5 False

其次,我有一个导入的样本列表,其中包括作为合并点的探测名称和探测器的值。

第二次导入如下:

SampleName ProbeName Value
sample 1 probe 1  0
sample 1 probe 2  0
sample 1 probe 3  0
sample 1 probe 4  0 
sample 1 probe 5  0
sample 2 probe 1  0
sample 2 probe 2  0
sample 2 probe 3  0
sample 2 probe 4  0
sample 2 probe 5  0

合并在一起目前看起来像这样:

SampleName ProbeName Value QC
sample 1 probe 1  0 True
sample 1 probe 2  0 True
sample 1 probe 3  0 True
sample 1 probe 4  0 False
sample 1 probe 5  0 False
sample 2 probe 1  0 True
sample 2 probe 2  0 True
sample 2 probe 3  0 True
sample 2 probe 4  0 False
sample 2 probe 5  0 False

等...

索引默认为行数。我已使用以下代码完成此操作:

template = pd.read_csv("Template.txt", sep='\t') # importing template
datain = pd.read_csv("Data.txt", sep = '\t') # import sample data
data = pd.merge(datain, template, how='left') # merge template and sample data

我试图将样本名称作为索引,但出于某种原因,当我调用data.values时,我仍然可以看到编号索引和样本名称不再关联。 我有一个模板和合并数据的原因是我有从基因组分析器导出的单独文件,并希望使用此原始输出作为我的程序的主要输入。该模板用于将真/假数据添加到重新探测,这将允许我创建和导入具有不同QC探针等的不同探针列表,具体取决于测试分析等。

理想情况下,我希望能够迭代每个样本,然后迭代每个探针及其值。例如,对于所有样本,标记为True的探针总和是多少。

SampleName ProbeName Value
sample 1 probe 1  0
         probe 2  0
         probe 3  0
         probe 4  0 
         probe 5  0
sample 2 probe 1  1
         probe 2  1
         probe 3  1
         probe 4  1
         probe 5  1

然后,我希望能够在以后的计算中使用每个样本的单个探针值。这样做最有效的方法是什么?

如果有人能够粗略地了解我应该做些什么,或者我是否在正确的轨道上,我将非常感激。

感谢您的阅读。

1 个答案:

答案 0 :(得分:0)

我认为您需要按boolean indexingstring[] files = filepath;进行过滤,然后汇总=IF(WEEKDAY(A2)=1,A2-2,IF(WEEKDAY(A2)=7,A2-1,A2)) ,然后map进行新列的过滤:

QC

<强>详细

sum