回答編集履歴

3

一部修正

2021/07/17 23:36

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -1,6 +1,6 @@
1
1
  できます。
2
2
 
3
- ただし、`read_json`で`chunksize`を指定した場合、返ってくるのはDataFrameではなくジェネレータになりますので、ループで逐次に処理する必要があります。質問者様が言われるような重複削除をしたい場合は、以下のように実装します。
3
+ ただし、`read_json`で`chunksize`を指定した場合、返ってくるのはDataFrameではなくイテレータになりますので、ループで逐次に処理する必要があります。質問者様が言われるような重複削除をしたい場合は、以下のように実装します。
4
4
 
5
5
 
6
6
 
@@ -38,9 +38,9 @@
38
38
 
39
39
  df = pd.DataFrame() # Empty DataFrame
40
40
 
41
- for r in reader:
41
+ for chunk in reader:
42
42
 
43
- df = pd.concat([df, r])
43
+ df = pd.concat([df, chunk])
44
44
 
45
45
  df.drop_duplicates(inplace=True)
46
46
 
@@ -64,8 +64,10 @@
64
64
 
65
65
 
66
66
 
67
- jsonではなくcsvの記事ですが、chunksizeを使っている記事がありますので、参考にしてください。
67
+ 参考: [Pandas公式ドキュメント - Line delimited json](https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#line-delimited-json)
68
68
 
69
69
 
70
70
 
71
71
  参考: [pandas でメモリに乗らない 大容量ファイルを上手に扱う](https://sinhrks.hatenablog.com/entry/2014/11/21/231534)
72
+
73
+ ※ JSONではなくCSVの記事です。

2

一部修正

2021/07/17 23:36

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -1,4 +1,6 @@
1
+ できます。
2
+
1
- できます。`read_json`で`chunksize`を指定した場合、返ってくるのはDataFrameではなくジェネレータになりますので、ループで処理する必要があります。質問者様が言われるような重複削除をしたい場合は、以下のように実装します。
3
+ ただし、`read_json`で`chunksize`を指定した場合、返ってくるのはDataFrameではなくジェネレータになりますので、ループで逐次に処理する必要があります。質問者様が言われるような重複削除をしたい場合は、以下のように実装します。
2
4
 
3
5
 
4
6
 

1

一部修正

2021/07/17 23:29

投稿

toast-uz
toast-uz

スコア3266

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  reader = pd.read_json('data.json', orient='records', lines=True, chunksize=4)
36
36
 
37
- df = pd.DataFrame([])
37
+ df = pd.DataFrame() # Empty DataFrame
38
38
 
39
39
  for r in reader:
40
40