私は、以下の命名規則で複数のファイルを持っています。ファイル名でデータフレームをマージする
ENCSR000EQO_0_0.txt
ENCSR000DIA_0_0.txt
ENCSR000DIA_1_1.txt
ENCSR000DIA_2_1.txt
ENCSR000DIM_0_0.txt
ENCSR000DIM_1_1.txt
ENCSR000AIB_0_0.txt
ENCSR000AIB_1_1.txt
ENCSR000AIB_2_1.txt
ENCSR000AIB_3_1.txt
私は、ファイル名に応じてパンダを使用してデータフレームとしてそれらをマージしたいので、私は4つの結果のデータフレームを持っているでしょう。そして、これらの4つのそれぞれについて、遺伝子(GeneName)列をグループ化したいと思います。同じ遺伝子が複数回出現するためです。
これらはすべて同じ順序で同じ列を持ちます。私は一度に10をまとめてマージすることができますが、名前でマージする方法を理解できませんでした。
path = '/renamed/'
print os.listdir(path)
df_merge = None
for fname in os.listdir(path):
if fname.endswith('.txt'):
df = pd.read_csv(path + fname, sep='\t', header=0)
df.columns = ['ID ', 'Chr', 'Start', 'End', 'Strand', 'Peak Score', 'Focus Ratio/Region Size',
'Ann', 'DetAnn', 'Distance', 'PromoterID', 'EID',
'Unigene', 'Refseq', 'Ensembl', 'GeneName', 'GeneAlias',
'GeneDescription', 'GeneType']
df = df.groupby('GeneName').agg(np.mean)
print df
ありがとうございます。
私はあなたが何かをしたいと思います 'と呼ばれます参加する。 'pd.merge'を探します。 –
多分[この記事](http://stackoverflow.com/questions/23668427/pandas-joining-multiple-dataframes-on-columns)が役立ちます。 – lmo