다음 명명 규칙을 사용하여 여러 파일이 있습니다.파일 이름으로 데이터 프레임 병합
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
나는 파일 이름에 따라 팬더를 사용 dataframes로를 병합 할, 그래서 4 결과 dataframes있을 것입니다. 그리고이 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