タイトルとして、複数のスプレッドシートをPandasのExcelファイルに作成する必要があります。 this threadとthis one のすべての解決策がありましたが、私の状況は少し異なると思いました。Python Pandasで複数のスプレッドシートを作成するPandas
writer = pd.ExcelWriter('output.xlsx')
DF1.to_excel(writer,'Sheet1')
DF2.to_excel(writer,'Sheet2')
writer.save()
しかし、問題は、私はそれらのそれぞれがちょうど大きすぎるので、同時に私の記憶では、複数のデータフレームを維持する余裕がないということである。例は両方ともに似たものを使用します。私は計算のいくつかの並べ替えを行い、最終的にc
通じたときにdata['A'] == a
別のスプレッドシートを生成するgrplist
の項目['a', 'b', 'c']
を使用する予定 df = pd.DataFrame(dict(A=list('aabb'), B=range(4), C=range(6,10)))
Out: A B C 0 a 0 6 1 a 1 7 2 b 2 8 3 b 3 9
:私のデータは、この複雑なバージョンであることができる
data = pd.read_csv(fileloc)
grplist = [['a','b','c'],['d','e','f']]
for groups, numbers in zip(grplist, range(1, 5)):
for category in groups:
clean = data[(data['A'] == category) & (data['B'] == numbers)]['C']
# --------My calculation to generate a dataframe--------
my_result_df = pd.DataFrame(my_result)
writer = ExcelWriter('my_path_of_excel')
my_resultdf.to_excel(writer, 'Group%s_%s' % (numbers, category[:4]))
writer.save()
gc.collect()
悲しいことに、groups, numbers
がループスルーされているので、私のコードは複数のスプレッドシートを作成しません。私は1つのスプレッドシートで最後の結果しか得られません。私に何ができる?
これは私の最初の投稿です。私はすべてのルールに従っているので、このスレッドがうまく終わることができれば幸いです。何かを修正または改善する必要がある場合は、私に知らせてください。ご協力いただきありがとうございます:)
[タグ:piRSquared]ありがとうございました。しかし、これは私の問題を解決しません。自分のデータとコードを記述するために、さらにいくつかの行を追加しました。私が尋ねる究極の質問は、「.groupby()」を使って複数のスプレッドシートをグループ化するのではなく、複数のスプレッドシートを一度に1つ作成する方法です。私があなたを正しく理解していない場合は、私に知らせてください。 –