【发布时间】:2015-12-09 21:36:49
【问题描述】:
长时间的听众第一次来电。我在 OS 10.9 上使用 Python 2.7。
我有两个 .csv 文件:一个是有趣基因的列表,另一个是包含约 17,000 个基因的主列表,其中包含 4 个相关的指标列(浮点数)。我使用 pandas 创建了一个主数据框(键是基因名称),并使用 .loc 将我感兴趣的基因列表传递给它。我的 new_df 是来自该迭代过程的结果数据框。诚然,这样做可能有一种更惯用的方式(即将熊猫系列与数据框合并)。
我想使用 new_df 对 master_df 重新采样以搜索和分箱相似的基因。我正在寻找四列中每列的值在我感兴趣的基因值的 5% 以内的基因。当我找到匹配项时,它会在我的 new_df 中的正确键下分箱。有没有一种熊猫方法可以通过分层索引来实现这一点?或者也许这是一本新词典的任务? 感谢您的指导!
这是一段sn-p代码:
import pandas as pd
def list_getter():
gene_list = []
with open('experiment.csv', 'U') as f:
for i in f:
gene_list.append(i)
gene_list[:] = [line.rstrip('\n') for line in gene_list]
return gene_list
f.close()
def master_df():
master_df = pd.read_csv('Gene_Metrics_to_Consider.csv', index_col=0) #index by gene name
def gene_find(gene_list, df2):
'''takes list of genes, returns new dataframe with extracted metrics'''
for i in gene_list: #find genes and associated metrics
new_df = df2.loc[gene_list] #NaN returned for genes not found
return new_df
def bin_similar_genes():
【问题讨论】:
-
摘录一些您迄今为止所做的代码,这将有助于指导您...还可以考虑使用网络上的一些可访问数据,以便我们帮助您改进代码。
-
请考虑生成MCVE 以获得更好/更快的答案。