私は1つの.fastaファイルを読み込み、単一の遺伝子配列を分析し、その配列に基づいて計算を行い、計算結果を単一のpandasデータフレームに整理するコードを書いています。 CSVファイル。複数のパンダデータフレームを1つの.csvファイルにエクスポートするにはどうすればよいですか?
最近、複数のシーケンスを含む.fastaファイルを解析するためにコードを更新しましたが、現在のフォームのコードはシーケンスごとに1つの.csvファイルをエクスポートします。 .fastaファイルに多数のシーケンス(たとえば100以上)が含まれている場合、非常に多くの.csvファイルを並べ替えなければならない場合は面倒です。
代わりに、私は各パンダのデータフレームを単一の.csvファイルにエクスポートするようにしています。しかし、これを実現するためにコードを設定する方法がわかりません。現在、コードはdict(.fastaファイルのシーケンスが格納されている)の値を反復するforループをベースにしています。各反復では、関連する計算結果の完全なdictを作成する関数が呼び出され、pandasデータフレームを作成してdictの情報で満たし、.csvファイルとしてエクスポートする別の関数が呼び出されます。
import pandas as pd
from os import path
for seq in seq_dict.keys():
result_dict= calculator_func(seq_dict[seq])
results_df= data_assembler(result_dict)
results_df.to_csv(path.join(output_dir, "{}_dataframe.csv".format(project_name)
また、データフレームのインデックスはすべて、関連するシーケンス内の数値位置に基づいていることにも注意してください。
いずれにしても、すべてのデータフレームを1つの.csvファイルにまとめる方法を正確に把握しようとしていますが、インデックスでユーザーに教えることができます。その列からの行はfromおよびbである。その行が基づいているシーケンス内のどの位置にあるかを示す。誰かが私に何らかのアプローチを勧めてもらえますか?
私はあなたが好きであることにデータフレームにインデックスを設定することができることを知っているが、どのように私は1つの.csvファイルへのためのループによって生成されたすべてのデータフレームをエクスポートすることができますか?私は、ループの前に空のデータフレームを作成し、各ループのためにそれを記入する必要がありますか?どのようにインデックスを構造化すればいいですか?私の機能の構造が何であるか教えてください。 –
すべてのデータフレームに同じ列名がありますか?新しいインデックスを割り当てたら、巨大なマスターデータフレームに追加するか、マスターデータフレームに連結してエクスポートすることができます。例えば : 'master_frame = test_frame1'続く : ' master_frame = master_frame.append(test_frame2) ' https://pandas.pydata.org/pandas-docs/stable/merging。 html – sbonin
私は、forループの前に空のリストを作成し、構築された各データフレームをリストに追加し、最後のデータフレームを作るために 'final_dataframe = pd.concat(total_list_of_dfs) 'を使用してデータフレームをマージしました。ご協力いただきありがとうございます! –