複数のJSONオブジェクトを1つのDataFrameに読み込みます。問題は、列の一部がリストであることです。また、データは非常に大きく、そのためにインターネット上で利用可能なソリューションを使用することはできません。彼らは非常に遅く、メモリ効率の悪いpandas DataFrame内の複数のリスト列を効率よくネスト解除(分解)する
ここでは、私のデータがどのように見えるかです:
df = pd.DataFrame({'A': ['x1','x2','x3', 'x4'], 'B':[['v1','v2'],['v3','v4'],['v5','v6'],['v7','v8']], 'C':[['c1','c2'],['c3','c4'],['c5','c6'],['c7','c8']],'D':[['d1','d2'],['d3','d4'],['d5','d6'],['d7','d8']], 'E':[['e1','e2'],['e3','e4'],['e5','e6'],['e7','e8']]})
A B C D E
0 x1 [v1, v2] [c1, c2] [d1, d2] [e1, e2]
1 x2 [v3, v4] [c3, c4] [d3, d4] [e3, e4]
2 x3 [v5, v6] [c5, c6] [d5, d6] [e5, e6]
3 x4 [v7, v8] [c7, c8] [d7, d8] [e7, e8]
そして、これは私のデータの形である:(441079、12)
私の所望の出力は次のようになります。
A B C D E
0 x1 v1 c1 d1 e1
0 x1 v2 c2 d2 e2
1 x2 v3 c3 d3 e3
1 x2 v4 c4 d4 e4
.....
はい、その後、すべてが遅くなり、メモリは非効率的。このようなデータフレームを決して作成しないことで、この問題はよりよく解決される可能性があります。 –
@ juanpa.arrivillagaこの混乱を起こさないようにJSONファイルを別の方法で読むことはできますか? pd.read_csvにはコンバーターを定義するオプションがありますが、pd.read_jsonに似たものは見つかりません – Moh
可能な重複:https://stackoverflow.com/questions/32468402/how-to-explode-a-list-inside-a-dataframe -cell-into-separate-rows/32470490#32470490 @MohMelを使ってこのメソッドを試しましたか? – Alexander