前提・実現したいこと
DataFremeを空行でそれぞれ分割したいのですがきれいに分割できません
他に良い方法があれば教えてください
こちらのDataFrameから
県名 | あああ | いいい | ううう |
---|---|---|---|
A | 1 | 2 | 3 |
B | 4 | 5 | 6 |
C | 7 | 8 | 9 |
区分 | えええ | おおお | かかか |
D | 1 | 2 | 3 |
E | 4 | 5 | 6 |
名前 | ききき | くくく | けけけ |
F | 1 | 2 | 3 |
G | 4 | 5 | 6 |
H | 7 | 8 | 9 |
以下の3つのDataFrameを作成したい
県名 | あああ | いいい | ううう |
---|---|---|---|
A | 1 | 2 | 3 |
B | 4 | 5 | 6 |
C | 7 | 8 | 9 |
区分 | えええ | おおお | かかか |
---|---|---|---|
D | 1 | 2 | 3 |
E | 4 | 5 | 6 |
名前 | ききき | くくく | けけけ |
---|---|---|---|
F | 1 | 2 | 3 |
G | 4 | 5 | 6 |
H | 7 | 8 | 9 |
該当のソースコード
python
1import io 2import pandas as pd 3 4data = """\ 5県名,あああ,いいい,ううう 6A,1,2,3 7B,4,5,6 8C,7,8,9 9,,, 10区分,えええ,おおお,かかか 11D,1,2,3 12E,4,5,6 13,,, 14,,, 15名前,ききき,くくく,けけけ 16F,1,2,3 17G,4,5,6 18H,7,8,9 19""" 20df = pd.read_csv(io.StringIO(data), header=None)
試したこと
https://teratail.com/questions/128495
を参考に作成したのですが
python
1grouped_df = df.groupby((df.isnull().all(axis=1)).cumsum()) 2grouped_df.get_group(2)
元データはExcelのため空行の行数は用紙サイズにより不変のため空行が複数あるとNaNだけのDataFrameができてしまう
補足情報(FW/ツールのバージョンなど)
Pandas1.1
回答1件
あなたの回答
tips
プレビュー