derek-thomas HF staff commited on
Commit
ed3130d
1 Parent(s): 130902a

Updating README

Browse files
Files changed (3) hide show
  1. main.py +1 -32
  2. notebooks/validate.ipynb +235 -163
  3. utilities/readme_update.py +48 -0
main.py CHANGED
@@ -8,6 +8,7 @@ from huggingface_hub import login
8
 
9
  from my_logger import setup_logger
10
  from utilities.pushshift_data import scrape_submissions_by_day, submissions_to_dataframe
 
11
 
12
  # Set dataset name, path to README.md, and existing dataset details
13
  subreddit = os.environ["SUBREDDIT"]
@@ -22,38 +23,6 @@ login(auth_token, add_to_git_credential=True)
22
  logger = setup_logger(__name__)
23
 
24
 
25
- def update_readme(dataset_name, subreddit, date_to_fetch):
26
- readme_text = f"""
27
- # {dataset_name}
28
-
29
- ## Dataset Overview
30
- The goal is to have an open dataset of `{subreddit}` submissions. This has been taken from the Pushshift API.
31
-
32
- ## Data Collection
33
- This has been collected with sequential calls that follow the pagination of the pushshift request.
34
-
35
-
36
- ## Data Structure
37
- - `all_days`: All the data after `{os.environ["START_DATE"]}`
38
-
39
- ## Update Frequency
40
- The dataset is updated daily and covers the period from `{os.environ["START_DATE"]}` to two days ago.
41
-
42
- ## Attribution
43
- Data sourced from the Pushshift API.
44
-
45
- ## Change Log
46
- <details>
47
- <summary>Click to expand</summary>
48
-
49
- - **{datetime.now().strftime('%Y-%m-%d')}:** Added data for {date_to_fetch} to the 'all_days' split and saved as CSV
50
-
51
- </details>
52
- """
53
-
54
- return readme_text
55
-
56
-
57
  def main(date_to_fetch):
58
  """
59
  Runs the main data processing function to fetch and process subreddit data for the specified date.
 
8
 
9
  from my_logger import setup_logger
10
  from utilities.pushshift_data import scrape_submissions_by_day, submissions_to_dataframe
11
+ from utilities.readme_update import update_readme
12
 
13
  # Set dataset name, path to README.md, and existing dataset details
14
  subreddit = os.environ["SUBREDDIT"]
 
23
  logger = setup_logger(__name__)
24
 
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  def main(date_to_fetch):
27
  """
28
  Runs the main data processing function to fetch and process subreddit data for the specified date.
notebooks/validate.ipynb CHANGED
@@ -37,28 +37,42 @@
37
  },
38
  {
39
  "cell_type": "code",
40
- "execution_count": 10,
41
- "id": "9264a232",
42
  "metadata": {},
43
  "outputs": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  {
45
  "name": "stderr",
46
  "output_type": "stream",
47
  "text": [
48
- "Using custom data configuration derek-thomas--dataset-creator-askreddit-806417599346c17a\n"
49
  ]
50
  },
51
  {
52
  "name": "stdout",
53
  "output_type": "stream",
54
  "text": [
55
- "Downloading and preparing dataset None/None to /Users/derekthomas/.cache/huggingface/datasets/derek-thomas___parquet/derek-thomas--dataset-creator-askreddit-806417599346c17a/0.0.0/2a3b91fbd88a2c90d1dbbb32b460cf621d31bd5b05b934492fdef7d8d6f236ec...\n"
56
  ]
57
  },
58
  {
59
  "data": {
60
  "application/vnd.jupyter.widget-view+json": {
61
- "model_id": "b65ec8c7f33a40eeac5d15e6a527f830",
62
  "version_major": 2,
63
  "version_minor": 0
64
  },
@@ -72,7 +86,21 @@
72
  {
73
  "data": {
74
  "application/vnd.jupyter.widget-view+json": {
75
- "model_id": "2d93949f1f0144779349c73c58a68ca9",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  "version_major": 2,
77
  "version_minor": 0
78
  },
@@ -91,7 +119,7 @@
91
  "version_minor": 0
92
  },
93
  "text/plain": [
94
- "Generating all_days split: 0%| | 0/2468888 [00:00<?, ? examples/s]"
95
  ]
96
  },
97
  "metadata": {},
@@ -101,13 +129,13 @@
101
  "name": "stdout",
102
  "output_type": "stream",
103
  "text": [
104
- "Dataset parquet downloaded and prepared to /Users/derekthomas/.cache/huggingface/datasets/derek-thomas___parquet/derek-thomas--dataset-creator-askreddit-806417599346c17a/0.0.0/2a3b91fbd88a2c90d1dbbb32b460cf621d31bd5b05b934492fdef7d8d6f236ec. Subsequent calls will reuse this data.\n"
105
  ]
106
  },
107
  {
108
  "data": {
109
  "application/vnd.jupyter.widget-view+json": {
110
- "model_id": "0e62c7e8b3c74aa5af3b87ab17e6cb1f",
111
  "version_major": 2,
112
  "version_minor": 0
113
  },
@@ -125,7 +153,7 @@
125
  },
126
  {
127
  "cell_type": "code",
128
- "execution_count": 12,
129
  "id": "ba84be68",
130
  "metadata": {},
131
  "outputs": [
@@ -161,6 +189,8 @@
161
  " <th>id</th>\n",
162
  " <th>downs</th>\n",
163
  " <th>ups</th>\n",
 
 
164
  " </tr>\n",
165
  " </thead>\n",
166
  " <tbody>\n",
@@ -172,11 +202,13 @@
172
  " <td>/r/AskReddit/comments/15sn6y/reddit_if_someone...</td>\n",
173
  " <td>They would be talking about you without your p...</td>\n",
174
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
175
- " <td>2013-01-01 23:59:40</td>\n",
176
  " <td>[deleted]</td>\n",
177
  " <td>15sn6y</td>\n",
178
  " <td>0</td>\n",
179
  " <td>2</td>\n",
 
 
180
  " </tr>\n",
181
  " <tr>\n",
182
  " <th>1</th>\n",
@@ -186,11 +218,13 @@
186
  " <td>/r/AskReddit/comments/15sn6m/what_kind_of_car_...</td>\n",
187
  " <td>I've always wanted to know what kind of car th...</td>\n",
188
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
189
- " <td>2013-01-01 23:59:31</td>\n",
190
  " <td>PaytonAdams</td>\n",
191
  " <td>15sn6m</td>\n",
192
  " <td>0</td>\n",
193
  " <td>5</td>\n",
 
 
194
  " </tr>\n",
195
  " <tr>\n",
196
  " <th>2</th>\n",
@@ -200,11 +234,13 @@
200
  " <td>/r/AskReddit/comments/15sn6b/what_movies_have_...</td>\n",
201
  " <td></td>\n",
202
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
203
- " <td>2013-01-01 23:59:20</td>\n",
204
  " <td>[deleted]</td>\n",
205
  " <td>15sn6b</td>\n",
206
  " <td>0</td>\n",
207
  " <td>1</td>\n",
 
 
208
  " </tr>\n",
209
  " <tr>\n",
210
  " <th>3</th>\n",
@@ -214,11 +250,13 @@
214
  " <td>/r/AskReddit/comments/15sn4u/worst_fears/</td>\n",
215
  " <td>So what is your worst fear, reddit?</td>\n",
216
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
217
- " <td>2013-01-01 23:58:37</td>\n",
218
  " <td>[deleted]</td>\n",
219
  " <td>15sn4u</td>\n",
220
  " <td>0</td>\n",
221
  " <td>0</td>\n",
 
 
222
  " </tr>\n",
223
  " <tr>\n",
224
  " <th>4</th>\n",
@@ -228,11 +266,13 @@
228
  " <td>/r/AskReddit/comments/15sn44/if_there_was_a_ty...</td>\n",
229
  " <td></td>\n",
230
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
231
- " <td>2013-01-01 23:58:15</td>\n",
232
  " <td>Honeybeard</td>\n",
233
  " <td>15sn44</td>\n",
234
  " <td>0</td>\n",
235
  " <td>11</td>\n",
 
 
236
  " </tr>\n",
237
  " <tr>\n",
238
  " <th>...</th>\n",
@@ -247,165 +287,177 @@
247
  " <td>...</td>\n",
248
  " <td>...</td>\n",
249
  " <td>...</td>\n",
 
 
250
  " </tr>\n",
251
  " <tr>\n",
252
- " <th>3293628</th>\n",
253
- " <td>1</td>\n",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  " <td>1</td>\n",
255
- " <td>Help me get an idea of cost of living</td>\n",
256
- " <td>/r/AskReddit/comments/2cjj63/help_me_get_an_id...</td>\n",
 
257
  " <td></td>\n",
258
- " <td>http://www.reddit.com/r/AskReddit/comments/2cj...</td>\n",
259
- " <td>2014-08-04 00:01:20</td>\n",
260
- " <td>bbent4698</td>\n",
261
- " <td>2cjj63</td>\n",
262
  " <td>0</td>\n",
263
  " <td>1</td>\n",
 
 
264
  " </tr>\n",
265
  " <tr>\n",
266
- " <th>3293629</th>\n",
 
267
  " <td>2</td>\n",
268
- " <td>0</td>\n",
269
- " <td>If you used a prism to separate light and then...</td>\n",
270
- " <td>/r/AskReddit/comments/2cjj5v/if_you_used_a_pri...</td>\n",
271
  " <td></td>\n",
272
- " <td>http://www.reddit.com/r/AskReddit/comments/2cj...</td>\n",
273
- " <td>2014-08-04 00:01:19</td>\n",
274
- " <td>Ajmb_88</td>\n",
275
- " <td>2cjj5v</td>\n",
276
  " <td>0</td>\n",
277
- " <td>2</td>\n",
 
 
278
  " </tr>\n",
279
  " <tr>\n",
280
- " <th>3293630</th>\n",
281
- " <td>0</td>\n",
282
- " <td>11</td>\n",
283
- " <td>Reddit, what was it like the first time you go...</td>\n",
284
- " <td>/r/AskReddit/comments/2cjj4s/reddit_what_was_i...</td>\n",
285
  " <td></td>\n",
286
- " <td>http://www.reddit.com/r/AskReddit/comments/2cj...</td>\n",
287
- " <td>2014-08-04 00:01:01</td>\n",
288
- " <td>da-gonzo</td>\n",
289
- " <td>2cjj4s</td>\n",
290
- " <td>0</td>\n",
291
  " <td>0</td>\n",
 
 
 
292
  " </tr>\n",
293
  " <tr>\n",
294
- " <th>3293631</th>\n",
295
- " <td>1452</td>\n",
296
- " <td>3140</td>\n",
297
- " <td>People who refuse to be organ donors, why do y...</td>\n",
298
- " <td>/r/AskReddit/comments/2cjj31/people_who_refuse...</td>\n",
299
- " <td>R.I.P my inbox</td>\n",
300
- " <td>http://www.reddit.com/r/AskReddit/comments/2cj...</td>\n",
301
- " <td>2014-08-04 00:00:36</td>\n",
302
- " <td>JohnnySniperr</td>\n",
303
- " <td>2cjj31</td>\n",
304
  " <td>0</td>\n",
305
- " <td>1452</td>\n",
306
- " </tr>\n",
307
- " <tr>\n",
308
- " <th>3293632</th>\n",
309
- " <td>2</td>\n",
310
- " <td>9</td>\n",
311
- " <td>What always happens when you travel abroad?</td>\n",
312
- " <td>/r/AskReddit/comments/2cjj2a/what_always_happe...</td>\n",
313
- " <td></td>\n",
314
- " <td>http://www.reddit.com/r/AskReddit/comments/2cj...</td>\n",
315
- " <td>2014-08-04 00:00:23</td>\n",
316
- " <td>Nicopip</td>\n",
317
- " <td>2cjj2a</td>\n",
318
  " <td>0</td>\n",
319
- " <td>2</td>\n",
 
 
320
  " </tr>\n",
321
  " </tbody>\n",
322
  "</table>\n",
323
- "<p>3293633 rows × 11 columns</p>\n",
324
  "</div>"
325
  ],
326
  "text/plain": [
327
- " score num_comments \\\n",
328
- "0 2 4 \n",
329
- "1 5 24 \n",
330
- "2 1 5 \n",
331
- "3 0 18 \n",
332
- "4 11 29 \n",
333
- "... ... ... \n",
334
- "3293628 1 1 \n",
335
- "3293629 2 0 \n",
336
- "3293630 0 11 \n",
337
- "3293631 1452 3140 \n",
338
- "3293632 2 9 \n",
339
  "\n",
340
- " title \\\n",
341
- "0 Reddit, if someone had to describe you to a st... \n",
342
- "1 What kind of car does the average \\nRedditor d... \n",
343
- "2 What movies have made you go back to the theat... \n",
344
- "3 Worst fear(s)? \n",
345
- "4 If there was a type of ink that lasted only fo... \n",
346
- "... ... \n",
347
- "3293628 Help me get an idea of cost of living \n",
348
- "3293629 If you used a prism to separate light and then... \n",
349
- "3293630 Reddit, what was it like the first time you go... \n",
350
- "3293631 People who refuse to be organ donors, why do y... \n",
351
- "3293632 What always happens when you travel abroad? \n",
352
  "\n",
353
- " permalink \\\n",
354
- "0 /r/AskReddit/comments/15sn6y/reddit_if_someone... \n",
355
- "1 /r/AskReddit/comments/15sn6m/what_kind_of_car_... \n",
356
- "2 /r/AskReddit/comments/15sn6b/what_movies_have_... \n",
357
- "3 /r/AskReddit/comments/15sn4u/worst_fears/ \n",
358
- "4 /r/AskReddit/comments/15sn44/if_there_was_a_ty... \n",
359
- "... ... \n",
360
- "3293628 /r/AskReddit/comments/2cjj63/help_me_get_an_id... \n",
361
- "3293629 /r/AskReddit/comments/2cjj5v/if_you_used_a_pri... \n",
362
- "3293630 /r/AskReddit/comments/2cjj4s/reddit_what_was_i... \n",
363
- "3293631 /r/AskReddit/comments/2cjj31/people_who_refuse... \n",
364
- "3293632 /r/AskReddit/comments/2cjj2a/what_always_happe... \n",
365
  "\n",
366
- " selftext \\\n",
367
- "0 They would be talking about you without your p... \n",
368
- "1 I've always wanted to know what kind of car th... \n",
369
- "2 \n",
370
- "3 So what is your worst fear, reddit? \n",
371
- "4 \n",
372
- "... ... \n",
373
- "3293628 \n",
374
- "3293629 \n",
375
- "3293630 \n",
376
- "3293631 R.I.P my inbox \n",
377
- "3293632 \n",
378
  "\n",
379
- " url \\\n",
380
- "0 http://www.reddit.com/r/AskReddit/comments/15s... \n",
381
- "1 http://www.reddit.com/r/AskReddit/comments/15s... \n",
382
- "2 http://www.reddit.com/r/AskReddit/comments/15s... \n",
383
- "3 http://www.reddit.com/r/AskReddit/comments/15s... \n",
384
- "4 http://www.reddit.com/r/AskReddit/comments/15s... \n",
385
- "... ... \n",
386
- "3293628 http://www.reddit.com/r/AskReddit/comments/2cj... \n",
387
- "3293629 http://www.reddit.com/r/AskReddit/comments/2cj... \n",
388
- "3293630 http://www.reddit.com/r/AskReddit/comments/2cj... \n",
389
- "3293631 http://www.reddit.com/r/AskReddit/comments/2cj... \n",
390
- "3293632 http://www.reddit.com/r/AskReddit/comments/2cj... \n",
391
  "\n",
392
- " created_utc author id downs ups \n",
393
- "0 2013-01-01 23:59:40 [deleted] 15sn6y 0 2 \n",
394
- "1 2013-01-01 23:59:31 PaytonAdams 15sn6m 0 5 \n",
395
- "2 2013-01-01 23:59:20 [deleted] 15sn6b 0 1 \n",
396
- "3 2013-01-01 23:58:37 [deleted] 15sn4u 0 0 \n",
397
- "4 2013-01-01 23:58:15 Honeybeard 15sn44 0 11 \n",
398
- "... ... ... ... ... ... \n",
399
- "3293628 2014-08-04 00:01:20 bbent4698 2cjj63 0 1 \n",
400
- "3293629 2014-08-04 00:01:19 Ajmb_88 2cjj5v 0 2 \n",
401
- "3293630 2014-08-04 00:01:01 da-gonzo 2cjj4s 0 0 \n",
402
- "3293631 2014-08-04 00:00:36 JohnnySniperr 2cjj31 0 1452 \n",
403
- "3293632 2014-08-04 00:00:23 Nicopip 2cjj2a 0 2 \n",
404
  "\n",
405
- "[3293633 rows x 11 columns]"
406
  ]
407
  },
408
- "execution_count": 12,
409
  "metadata": {},
410
  "output_type": "execute_result"
411
  }
@@ -418,7 +470,7 @@
418
  {
419
  "cell_type": "code",
420
  "execution_count": 16,
421
- "id": "b5bbfa15",
422
  "metadata": {},
423
  "outputs": [
424
  {
@@ -450,7 +502,7 @@
450
  {
451
  "cell_type": "code",
452
  "execution_count": 18,
453
- "id": "c4292c7c",
454
  "metadata": {},
455
  "outputs": [],
456
  "source": [
@@ -460,7 +512,7 @@
460
  {
461
  "cell_type": "code",
462
  "execution_count": 21,
463
- "id": "5a516c19",
464
  "metadata": {},
465
  "outputs": [],
466
  "source": [
@@ -471,8 +523,40 @@
471
  },
472
  {
473
  "cell_type": "code",
474
- "execution_count": 25,
475
- "id": "22d87986",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
  "metadata": {},
477
  "outputs": [
478
  {
@@ -481,13 +565,13 @@
481
  "<Axes: >"
482
  ]
483
  },
484
- "execution_count": 25,
485
  "metadata": {},
486
  "output_type": "execute_result"
487
  },
488
  {
489
  "data": {
490
- "image/png": "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GsnJyaioqEBwcLC34/yHaAQAYteuXTaX1dTUiEmTJonBgweLiooKh+N8+OGHolWrVuLu3btCCCHGjx8vUlJSLPqcP39eABClpaVCCCHUarXIzc216JOdnS1CQ0Ptrufu3buioqJCunz33XcCgPj+++9FTU2NbJeqqiqRl5cnqqqqRM/X9oqer+0VNTU1dv+aLnL0s3UbV9sGLN0j8vLyxICle2TN4mwcZ22u3NZ6zj2V2ZUsrmyvdbv53Dd0/rx5MZ9/b2dpSdmVnF+puZWevbnkz83NFQCc1hdNzSMv/xmNRjzzzDO4du0aDh8+7LSKHD58OO7du4erV6+iV69eCA8Pr3e2yXTd9D4se33svU8LALRaLbRabb12tVoNtVrt0ra5Q61Ww1Crsvi3rb8m9pa70896Xbb6222rU0l/5cziqJ8r+ezNn3k/6zn3VGZXszjb3nrjmM19Q+fPF3jqsdQUlJwdUG5+peYGlJ0dUH5+XyT791SZCqpvvvkGhw4dwn333ef0NiUlJfDz80NoaCgAIDY2FseOHbN43VSn06FXr15o37691KewsNBiHJ1Oh9jYWBm3hoiIiMg1bp+punPnDi5duiRdv3LlCkpKStChQwd07twZ//Vf/4Uvv/wS+/btQ21tLcrKygAAHTp0gEajgV6vx+eff44xY8YgKCgIer0eCxcuxHPPPScVTMnJycjMzMTMmTOxePFinDt3DuvWrcPatWul9b700kt4/PHHsXr1aiQmJmL79u04c+aMxdcuEBERETUVt4uqM2fOYMyYMdJ10yfwpk+fjoyMDOzZswcAMGjQIIvb/f3vf8fo0aOh1Wqxfft2ZGRkwGAwICoqCgsXLrT4JF+7du1w8OBBpKamIiYmBh07dkR6err0dQoA8MgjjyA3NxdLly7Fa6+9hoceegh5eXno37+/u5tERERE1GhuF1WjR4+GcPCBQUfLAGDIkCE4deqU0/UMHDgQx48fd9hnypQpmDJlitOxiIiIiDyNv/1HREREJAMWVUREREQyYFFFREREJAMWVUREREQyYFFFREREJAMWVUREREQyYFFFREREJAMWVUREROSWbq/mezuCT2JRRURERCQDFlVEREREMmBRRURERCQDFlVEREREMmBRRURERCQDFlVEREREMmBRRURERCQDFlVEREREMmBRRURERCQDFlVERERE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5mHfvn04duwYHnjgAYd9hw8fDgC4dOkSunfvjvDwcJw+fdqiT3l5OQBI78MKDw+X2sz7BAcH2zxLBQBLlixBWlqadL2yshKRkZGIi4tDcHCwexvogNFohE6nwxtn/GCoU8k2rqdp/QSyhtYpLjeg7OwA83uTkrMDys2v1NyAsrMDTZv/XIb873E2Go3YvXu37OPKQfaiSgiB+fPnY9euXThy5AiioqKc3qakpAQA0LlzZwBAbGws/vSnP+HWrVsIDQ0FAOh0OgQHB6Nv375SH+sKWKfTITY21u56tFottFptvXa1Wg21Wu3S9rnDUKeCoVZ5Dzil5gaUnR1gfm9ScnZAufmVmhtQdnagafJ74rnVl8n+RvXU1FR8/PHHyM3NRVBQEMrKylBWVoZffvkFAHD58mVkZWWhqKgIV69exZ49e/DCCy9g1KhRGDhwIAAgLi4Offv2xfPPP4+vvvoKBw4cwNKlS5GamioVRXPmzMG3336LV155BRcuXMCGDRvwySefYOHChXJvEhEREZFTshdVf/7zn1FRUYHRo0ejc+fO0mXHjh0AAI1Gg0OHDiEuLg69e/fGyy+/jMmTJ2Pv3r3SGP7+/ti3bx/8/f0RGxuL5557Di+88AKWL18u9YmKikJ+fj50Oh2io6OxevVqfPDBB/w6BSIiIvIKj7z850hkZCSOHj3qdJyuXbs6fYPb6NGjUVxc7FY+IiIiIk/gb/8RERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMWFQRERERyYBFFREREZEMFF9UZWdno1u3bggICMDw4cNx+vRpb0ciIiKiFkjRRdWOHTuQlpaGZcuW4csvv0R0dDTi4+Nx69Ytb0cjIiKiFkbRRdWaNWswe/ZszJgxA3379sXGjRsRGBiIzZs3ezsaERERtTCtvB2goWpqalBUVIQlS5ZIbX5+fhg3bhz0er3N2xgMBhgMBul6RUUFAODHH3+E0WiULZvRaER1dTVaGf1QW6eSbVxPa1UnUF1dp7jcgLKzA8zvTUrODig3v1JzA8rODjRt/h9++EH2MU3PsQAghJB9/EYRCvWvf/1LABAnT560aF+0aJEYNmyYzdssW7ZMAOCFF1544YUXXprB5bvvvmuKksNlij1T1RBLlixBWlqadL2urg4//vgj7rvvPqhU8lXrlZWViIyMxHfffYfg4GDZxvU0peYGlJ0dYH5vUnJ2QLn5lZobUHZ2oPnkLy0tRUREhLfjWFBsUdWxY0f4+/ujvLzcor28vBzh4eE2b6PVaqHVai3aQkJCPBURwcHBitxhlZobUHZ2gPm9ScnZAeXmV2puQNnZAeXnv//+++Hn51tvDfetNG7QaDSIiYlBYWGh1FZXV4fCwkLExsZ6MRkRERG1RIo9UwUAaWlpmD59OoYOHYphw4bh3XffRVVVFWbMmOHtaERERNTCKLqo+u1vf4t///vfSE9PR1lZGQYNGoSCggKEhYV5NZdWq8WyZcvqvdTo65SaG1B2doD5vUnJ2QHl5ldqbkDZ2QHm9ySVEL72eUQiIiIi5VHse6qIiIiIfAmLKiIiIiIZsKgiIiIikgGLKiIiIiIZtJiiasWKFXj44YcRFBSE0NBQJCUl4eLFixZ97t69i9TUVNx3331o27YtJk+eXO/LRf/whz8gJiYGWq0WgwYNqreeixcvYsyYMQgLC0NAQAAefPBBLF261KXfFszOzka3bt0QEBCA4cOH4/Tp0xa5g4OD0bFjR7Rt2xYqlQq3b9/22dwmK1asQGhoKPz8/KBSqaDVajF27FhcuHBB6uOr+U1z36pVK6hUKovLnDlzfDo7ALzyyiv1cpsuO3fu9Pn8K1aswMCBA6FWq+Hn5we1Wo2EhASLfN7Mf+zYMUyaNAkRERFQqVTIy8uzyP7www+jdevW0Gg00Gg0UKlUKCkpkTW7uUuXLiEoKMjlLzT25vFG7tzAf+Zco9HA398f/v7+aN++PZ588knpeOOr2U35g4OD7R5rfD1/Ux1vPJUfAC5fvoynnnoKnTp1QnBwMJ555pl6+Zzy9u/kNJX4+HixZcsWce7cOVFSUiImTpwounTpIu7cuSP1mTNnjoiMjBSFhYXizJkzYsSIEeKRRx6xGGf+/Pli/fr14vnnnxfR0dH11nP58mWxefNmUVJSIq5evSp2794tQkNDxZIlSxzm2759u9BoNGLz5s3i/PnzYvbs2SIkJESMGTNGyv3HP/5R9OrVS4SEhAgA4qeffvLZ3OXl5dK8T58+XWzdulXk5+eLkSNHitatW4v7779f3Lt3z6fzm/aZoUOHiqefflqMHTtW3H///eLy5cuioqLCp7MLIURcXJx49913xZEjR8ShQ4fE2LFjRbt27USbNm3Ezz//7PP5x40bJzp16iTGjh0rdu7cKR577DHRunVrMWTIEFFbW+v1/Pv37xevv/66+PTTTwUAsWvXLmmZad958803xdy5c8WAAQMEYPlbpXJkN6mpqRFDhw4VCQkJol27dg5zC+H9443cuc0fr8uWLRMffvihGDNmjAgPDxcJCQkiMjJS3Lt3z2ezC/HrPtOrVy8xefJk6fF6//33ixs3bkhj+HL+pjreeCr/nTt3xIMPPiieeuopcfbsWXH27Fnx5JNPiocfflg63riixRRV1m7duiUAiKNHjwohhLh9+7ZQq9Vi586dUp9//OMfAoDQ6/X1br9s2TKHd7i5hQsXikcffdRhn2HDhonU1FTpem1trYiIiBArVqywmdt0kFNKblv5L126pIj8jz/+uHjppZcUu8+YmPJPnDhREfkPHDgg/Pz8pALWfN/R6XRez2/OuqiydubMGQFAfPDBB0II+ef+lVdeEc8995zYsmWLS08wvnK88VRu8+ybN28WAERxcbHPZzcda8zze+p448m5N8/vqeON3PmtjzemzCqVSuh0Oqfjm7SYl/+sVVRUAAA6dOgAACgqKoLRaMS4ceOkPr1790aXLl2g1+sbvJ5Lly6hoKAAjz/+uN0+NTU1KCoqsli3n58fxo0bV2/dptwmSsltcvPmTQC//mZTZGSkYvLn5OSgZ8+eAICPPvoI1dXVislu8tlnnwEApk6dCsD39x2DwSC9ZAz8Z9/38/PDiRMnvJrfXT///DMAoF27dgDknfvDhw9j586dyM7Odqm/rxxvPJnbPPvhw4cRFRWF8vJyRWTPyclBx44d8cgjjwAAWrduDUBZcw949njjifzWxxsACAgIkI43rmqRRVVdXR0WLFiAkSNHon///gCAsrIyaDSaeq/NhoWFoayszO11PPLIIwgICMBDDz2Exx57DMuXL7fb9/vvv0dtbW29b4K3XrcptymzUnIDwIYNG9CmTRtER0ejdevWOHr0KDQajSLyJycn46OPPsLAgQPRs2dPFBQU4LnnnlNEdhPTvtO6dWs899xzAHx/3xkxYgTatGmDxYsX486dO5g/fz46d+6Muro63Lx506v53VFXV4esrCwAQI8ePQDIN/c//PADXnzxRWzdutXlH8b1heONJ3MDwPr169G7d28AwBdffAGdTocffvjB57MnJyfj448/RmFhIdq2bQuNRoMVK1YAUM7cA5493ngqv/nxprq6GlVVVfjjH/+I2tpa6WSAK1pkUZWamopz585h+/btHlvHjh078OWXXyI3Nxf5+fl45513AADHjx9H27ZtpUtOTo7LY5pyp6eneyq2R3IDwLRp0/Dkk08iPDwcI0eOxDPPPIO7d+8qIn9KSgr27NmDa9euobCwEB999BF27drl/hsYvZDd5Pe//z2uX7+Ol19+WdbM5uTO36lTJ+zcuRN79+5FUFAQCgoKMGLECAwZMsQjv0zvqflPTU2t96EYucyePRvJyckYNWqUzeW+erzxZG4AKC4uRnh4OHbu3ImePXvimWeeQU1NjRzRPZo9JSUF8fHx2LhxI3766SfpWHP58mVZsgOen3vAs8cbT+U3P960bdsW7dq1w+3bt90+3ij6t/8aYt68edi3bx+OHTuGBx54QGoPDw9HTU0Nbt++bVFJl5eXIzw83O31REZGAgD69u2L2tpapKSk4OWXX8bQoUMtPgEUFhYGrVYLf3//ek/S5us2z33t2jXF5DZ5/fXXcfz4cZw8eRL3338/2rdvj127dikiv/U+0759ewC/nlL29eym/J9++in8/f3xhz/8QWpXwtzHxcUhISEBu3btwv79+xEdHY3w8HA8+OCDXs3vKtO+89e//tXiSUCu7IcPH8aePXukAlAIgbq6OrRq1QqbNm3C1KlTffJ446ncpuwHDx7E8ePHERUVhSeeeALt27fHpUuXfD67Kb9p7kNDQwH8+pK0EubelN+TxxtP5o+Li8Ply5fx/fffo1WrVggJCZGON65qMWeqhBCYN28edu3aJb3Gbi4mJgZqtRqFhYVS28WLF3H9+nXExsY2at11dXUwGo2oq6tD69at0aNHD+kSFBQEjUaDmJgYi3XX1dWhsLAQI0aMUGRu07ptzbv49QMSMBgMPp3f3j5jesA++uijPpsdsJz77t2748knn0SnTp2k/r4899b5jxw5gujoaBw+fBi3bt3CE0884dX8zljvO6aCzUSu7Hq9HiUlJdJl+fLlCAoKQklJCZ566imfPd7IndvR49V0vImIiPDZ7Kac1vlNx5rOnTv79Nxb5/fk8cZT+c117NgRISEhFscbl7n8lnaFmzt3rmjXrp04cuSIuHnzpnSprq6W+syZM0d06dJFHD58WJw5c0bExsaK2NhYi3G++eYbUVxcLH7/+9+Lnj17iuLiYlFcXCwMBoMQQoiPP/5Y7NixQ5SWlorLly+LHTt2iIiICDFt2jSH+bZv3y60Wq3YunWrKC0tFSkpKSIkJERMnz5dyv3VV18JnU4n3nnnHQFAHDt2TBQXF4sXX3zR53KXlZUJIYSYNm2aCAgIEO+//7744osvxJ49e8T48eNF+/btpY+y+uK8l5WViblz54qgoCAxY8YMUVBQIE6fPi22bt0qunXrJkaNGuXT2YX4zz7/8ccfCwAiJydHEfu8ef7WrVuL7OxsodfrxXvvvSdCQkLE/PnzfSL/zz//LI0FQKxZs0YUFxeLa9euSXO/Z88eodPpxF/+8hcBQHz00UeiuLhY3Lx5U5bs1lz9JJS3jzdy5zZ/vM6aNUsUFBRIx5uJEyeKDh06iPLycp+cc9P+npycLB0rTceaLl26iJEjR0pj+HL+pjreeCq/EEJs3rxZ6PV6cenSJfGXv/xFdOjQQaSlpTkd21yLKarwfx8Ltr5s2bJF6vPLL7+I//f//p9o3769CAwMFE899ZS4efOmxTiPP/64zXGuXLkihPj1jhsyZIho27ataNOmjejbt6948803xS+//OI043vvvSe6dOkiNBqNGDZsmDh16pTd3OaXTZs2+VxuZ/P+5ptv+vS8O8qekJAgfezWV7M7yu/r+7yz/Js3b/aJ/H//+99tjjt9+nSnj9lly5bJkt2aq08w9ua+qY43cucWwv7+MmLECHHhwgUhhDz7iyeyO8q/YcMGqY8S88t9vPFUfiGEWLx4sQgLCxNqtVo89NBDYvXq1aKurs6lsU1UQggBIiIiImqUFvOeKiIiIiJPYlFFREREJAMWVUREREQyYFFFREREJAMWVUREREQyYFFFREREJAMWVUREREQyYFFFREREJAMWVUREREQyYFFFREREJAMWVUREREQyYFFFREREJIP/H6/lA+KJfyx/AAAAAElFTkSuQmCC\n",
491
  "text/plain": [
492
  "<Figure size 640x480 with 1 Axes>"
493
  ]
@@ -497,28 +581,16 @@
497
  }
498
  ],
499
  "source": [
500
- "df.date.hist(bins=400)"
501
- ]
502
- },
503
- {
504
- "cell_type": "code",
505
- "execution_count": 26,
506
- "id": "19d6539b",
507
- "metadata": {},
508
- "outputs": [],
509
- "source": [
510
- "new_df = df.drop_duplicates(subset=['id'], keep=\"first\")"
511
  ]
512
  },
513
  {
514
  "cell_type": "code",
515
  "execution_count": null,
516
- "id": "466cd2c7",
517
  "metadata": {},
518
  "outputs": [],
519
- "source": [
520
- "new_df.date.hist(bins-)"
521
- ]
522
  }
523
  ],
524
  "metadata": {
 
37
  },
38
  {
39
  "cell_type": "code",
40
+ "execution_count": 28,
41
+ "id": "00affc9a",
42
  "metadata": {},
43
  "outputs": [
44
+ {
45
+ "data": {
46
+ "application/vnd.jupyter.widget-view+json": {
47
+ "model_id": "a106bb47c1194b15bc289d2ef24258af",
48
+ "version_major": 2,
49
+ "version_minor": 0
50
+ },
51
+ "text/plain": [
52
+ "Downloading readme: 0%| | 0.00/804 [00:00<?, ?B/s]"
53
+ ]
54
+ },
55
+ "metadata": {},
56
+ "output_type": "display_data"
57
+ },
58
  {
59
  "name": "stderr",
60
  "output_type": "stream",
61
  "text": [
62
+ "Using custom data configuration derek-thomas--dataset-creator-askreddit-a3c1289ebaf83d16\n"
63
  ]
64
  },
65
  {
66
  "name": "stdout",
67
  "output_type": "stream",
68
  "text": [
69
+ "Downloading and preparing dataset None/None to /Users/derekthomas/.cache/huggingface/datasets/derek-thomas___parquet/derek-thomas--dataset-creator-askreddit-a3c1289ebaf83d16/0.0.0/2a3b91fbd88a2c90d1dbbb32b460cf621d31bd5b05b934492fdef7d8d6f236ec...\n"
70
  ]
71
  },
72
  {
73
  "data": {
74
  "application/vnd.jupyter.widget-view+json": {
75
+ "model_id": "705d55e70bf442f98a51dd0618a5c2c6",
76
  "version_major": 2,
77
  "version_minor": 0
78
  },
 
86
  {
87
  "data": {
88
  "application/vnd.jupyter.widget-view+json": {
89
+ "model_id": "139220a81674444997f7657a4c2e1a01",
90
+ "version_major": 2,
91
+ "version_minor": 0
92
+ },
93
+ "text/plain": [
94
+ "Downloading data: 0%| | 0.00/702k [00:00<?, ?B/s]"
95
+ ]
96
+ },
97
+ "metadata": {},
98
+ "output_type": "display_data"
99
+ },
100
+ {
101
+ "data": {
102
+ "application/vnd.jupyter.widget-view+json": {
103
+ "model_id": "1a361406937144cebd4ff6168e56ec3d",
104
  "version_major": 2,
105
  "version_minor": 0
106
  },
 
119
  "version_minor": 0
120
  },
121
  "text/plain": [
122
+ "Generating all_days split: 0%| | 0/3272 [00:00<?, ? examples/s]"
123
  ]
124
  },
125
  "metadata": {},
 
129
  "name": "stdout",
130
  "output_type": "stream",
131
  "text": [
132
+ "Dataset parquet downloaded and prepared to /Users/derekthomas/.cache/huggingface/datasets/derek-thomas___parquet/derek-thomas--dataset-creator-askreddit-a3c1289ebaf83d16/0.0.0/2a3b91fbd88a2c90d1dbbb32b460cf621d31bd5b05b934492fdef7d8d6f236ec. Subsequent calls will reuse this data.\n"
133
  ]
134
  },
135
  {
136
  "data": {
137
  "application/vnd.jupyter.widget-view+json": {
138
+ "model_id": "4df7107473904386aebd66c543858abd",
139
  "version_major": 2,
140
  "version_minor": 0
141
  },
 
153
  },
154
  {
155
  "cell_type": "code",
156
+ "execution_count": 29,
157
  "id": "ba84be68",
158
  "metadata": {},
159
  "outputs": [
 
189
  " <th>id</th>\n",
190
  " <th>downs</th>\n",
191
  " <th>ups</th>\n",
192
+ " <th>date</th>\n",
193
+ " <th>time</th>\n",
194
  " </tr>\n",
195
  " </thead>\n",
196
  " <tbody>\n",
 
202
  " <td>/r/AskReddit/comments/15sn6y/reddit_if_someone...</td>\n",
203
  " <td>They would be talking about you without your p...</td>\n",
204
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
205
+ " <td>2013-01-01 23:59:40+00:00</td>\n",
206
  " <td>[deleted]</td>\n",
207
  " <td>15sn6y</td>\n",
208
  " <td>0</td>\n",
209
  " <td>2</td>\n",
210
+ " <td>2013-01-01</td>\n",
211
+ " <td>23:59:40</td>\n",
212
  " </tr>\n",
213
  " <tr>\n",
214
  " <th>1</th>\n",
 
218
  " <td>/r/AskReddit/comments/15sn6m/what_kind_of_car_...</td>\n",
219
  " <td>I've always wanted to know what kind of car th...</td>\n",
220
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
221
+ " <td>2013-01-01 23:59:31+00:00</td>\n",
222
  " <td>PaytonAdams</td>\n",
223
  " <td>15sn6m</td>\n",
224
  " <td>0</td>\n",
225
  " <td>5</td>\n",
226
+ " <td>2013-01-01</td>\n",
227
+ " <td>23:59:31</td>\n",
228
  " </tr>\n",
229
  " <tr>\n",
230
  " <th>2</th>\n",
 
234
  " <td>/r/AskReddit/comments/15sn6b/what_movies_have_...</td>\n",
235
  " <td></td>\n",
236
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
237
+ " <td>2013-01-01 23:59:20+00:00</td>\n",
238
  " <td>[deleted]</td>\n",
239
  " <td>15sn6b</td>\n",
240
  " <td>0</td>\n",
241
  " <td>1</td>\n",
242
+ " <td>2013-01-01</td>\n",
243
+ " <td>23:59:20</td>\n",
244
  " </tr>\n",
245
  " <tr>\n",
246
  " <th>3</th>\n",
 
250
  " <td>/r/AskReddit/comments/15sn4u/worst_fears/</td>\n",
251
  " <td>So what is your worst fear, reddit?</td>\n",
252
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
253
+ " <td>2013-01-01 23:58:37+00:00</td>\n",
254
  " <td>[deleted]</td>\n",
255
  " <td>15sn4u</td>\n",
256
  " <td>0</td>\n",
257
  " <td>0</td>\n",
258
+ " <td>2013-01-01</td>\n",
259
+ " <td>23:58:37</td>\n",
260
  " </tr>\n",
261
  " <tr>\n",
262
  " <th>4</th>\n",
 
266
  " <td>/r/AskReddit/comments/15sn44/if_there_was_a_ty...</td>\n",
267
  " <td></td>\n",
268
  " <td>http://www.reddit.com/r/AskReddit/comments/15s...</td>\n",
269
+ " <td>2013-01-01 23:58:15+00:00</td>\n",
270
  " <td>Honeybeard</td>\n",
271
  " <td>15sn44</td>\n",
272
  " <td>0</td>\n",
273
  " <td>11</td>\n",
274
+ " <td>2013-01-01</td>\n",
275
+ " <td>23:58:15</td>\n",
276
  " </tr>\n",
277
  " <tr>\n",
278
  " <th>...</th>\n",
 
287
  " <td>...</td>\n",
288
  " <td>...</td>\n",
289
  " <td>...</td>\n",
290
+ " <td>...</td>\n",
291
+ " <td>...</td>\n",
292
  " </tr>\n",
293
  " <tr>\n",
294
+ " <th>3267</th>\n",
295
+ " <td>0</td>\n",
296
+ " <td>11</td>\n",
297
+ " <td>Smokers of Reddit- What are your reasons for s...</td>\n",
298
+ " <td>/r/AskReddit/comments/15qzen/smokers_of_reddit...</td>\n",
299
+ " <td>I'm very curious as to what causes someone to ...</td>\n",
300
+ " <td>http://www.reddit.com/r/AskReddit/comments/15q...</td>\n",
301
+ " <td>2013-01-01 00:01:36+00:00</td>\n",
302
+ " <td>kelsofb</td>\n",
303
+ " <td>15qzen</td>\n",
304
+ " <td>0</td>\n",
305
+ " <td>0</td>\n",
306
+ " <td>2013-01-01</td>\n",
307
+ " <td>00:01:36</td>\n",
308
+ " </tr>\n",
309
+ " <tr>\n",
310
+ " <th>3268</th>\n",
311
  " <td>1</td>\n",
312
+ " <td>4</td>\n",
313
+ " <td>Hi</td>\n",
314
+ " <td>/r/AskReddit/comments/15qzei/hi/</td>\n",
315
  " <td></td>\n",
316
+ " <td>http://www.reddit.com/r/AskReddit/comments/15q...</td>\n",
317
+ " <td>2013-01-01 00:01:34+00:00</td>\n",
318
+ " <td>ImJE5US</td>\n",
319
+ " <td>15qzei</td>\n",
320
  " <td>0</td>\n",
321
  " <td>1</td>\n",
322
+ " <td>2013-01-01</td>\n",
323
+ " <td>00:01:34</td>\n",
324
  " </tr>\n",
325
  " <tr>\n",
326
+ " <th>3269</th>\n",
327
+ " <td>1</td>\n",
328
  " <td>2</td>\n",
329
+ " <td>At the stroke of midnight I was writing this p...</td>\n",
330
+ " <td>/r/AskReddit/comments/15qzdx/at_the_stroke_of_...</td>\n",
 
331
  " <td></td>\n",
332
+ " <td>http://www.reddit.com/r/AskReddit/comments/15q...</td>\n",
333
+ " <td>2013-01-01 00:01:15+00:00</td>\n",
334
+ " <td>Sangfroid_Sonder</td>\n",
335
+ " <td>15qzdx</td>\n",
336
  " <td>0</td>\n",
337
+ " <td>1</td>\n",
338
+ " <td>2013-01-01</td>\n",
339
+ " <td>00:01:15</td>\n",
340
  " </tr>\n",
341
  " <tr>\n",
342
+ " <th>3270</th>\n",
343
+ " <td>1</td>\n",
344
+ " <td>2</td>\n",
345
+ " <td>With all the rape stories in the news, why don...</td>\n",
346
+ " <td>/r/AskReddit/comments/15qzdc/with_all_the_rape...</td>\n",
347
  " <td></td>\n",
348
+ " <td>http://www.reddit.com/r/AskReddit/comments/15q...</td>\n",
349
+ " <td>2013-01-01 00:00:58+00:00</td>\n",
350
+ " <td>[deleted]</td>\n",
351
+ " <td>15qzdc</td>\n",
 
352
  " <td>0</td>\n",
353
+ " <td>1</td>\n",
354
+ " <td>2013-01-01</td>\n",
355
+ " <td>00:00:58</td>\n",
356
  " </tr>\n",
357
  " <tr>\n",
358
+ " <th>3271</th>\n",
 
 
 
 
 
 
 
 
 
359
  " <td>0</td>\n",
360
+ " <td>3</td>\n",
361
+ " <td>Do beautiful people have low entropy?</td>\n",
362
+ " <td>/r/AskReddit/comments/15qzd3/do_beautiful_peop...</td>\n",
363
+ " <td>I have been reading about entropy and arrows o...</td>\n",
364
+ " <td>http://www.reddit.com/r/AskReddit/comments/15q...</td>\n",
365
+ " <td>2013-01-01 00:00:53+00:00</td>\n",
366
+ " <td>[deleted]</td>\n",
367
+ " <td>15qzd3</td>\n",
 
 
 
 
 
368
  " <td>0</td>\n",
369
+ " <td>0</td>\n",
370
+ " <td>2013-01-01</td>\n",
371
+ " <td>00:00:53</td>\n",
372
  " </tr>\n",
373
  " </tbody>\n",
374
  "</table>\n",
375
+ "<p>3272 rows × 13 columns</p>\n",
376
  "</div>"
377
  ],
378
  "text/plain": [
379
+ " score num_comments title \\\n",
380
+ "0 2 4 Reddit, if someone had to describe you to a st... \n",
381
+ "1 5 24 What kind of car does the average \\nRedditor d... \n",
382
+ "2 1 5 What movies have made you go back to the theat... \n",
383
+ "3 0 18 Worst fear(s)? \n",
384
+ "4 11 29 If there was a type of ink that lasted only fo... \n",
385
+ "... ... ... ... \n",
386
+ "3267 0 11 Smokers of Reddit- What are your reasons for s... \n",
387
+ "3268 1 4 Hi \n",
388
+ "3269 1 2 At the stroke of midnight I was writing this p... \n",
389
+ "3270 1 2 With all the rape stories in the news, why don... \n",
390
+ "3271 0 3 Do beautiful people have low entropy? \n",
391
  "\n",
392
+ " permalink \\\n",
393
+ "0 /r/AskReddit/comments/15sn6y/reddit_if_someone... \n",
394
+ "1 /r/AskReddit/comments/15sn6m/what_kind_of_car_... \n",
395
+ "2 /r/AskReddit/comments/15sn6b/what_movies_have_... \n",
396
+ "3 /r/AskReddit/comments/15sn4u/worst_fears/ \n",
397
+ "4 /r/AskReddit/comments/15sn44/if_there_was_a_ty... \n",
398
+ "... ... \n",
399
+ "3267 /r/AskReddit/comments/15qzen/smokers_of_reddit... \n",
400
+ "3268 /r/AskReddit/comments/15qzei/hi/ \n",
401
+ "3269 /r/AskReddit/comments/15qzdx/at_the_stroke_of_... \n",
402
+ "3270 /r/AskReddit/comments/15qzdc/with_all_the_rape... \n",
403
+ "3271 /r/AskReddit/comments/15qzd3/do_beautiful_peop... \n",
404
  "\n",
405
+ " selftext \\\n",
406
+ "0 They would be talking about you without your p... \n",
407
+ "1 I've always wanted to know what kind of car th... \n",
408
+ "2 \n",
409
+ "3 So what is your worst fear, reddit? \n",
410
+ "4 \n",
411
+ "... ... \n",
412
+ "3267 I'm very curious as to what causes someone to ... \n",
413
+ "3268 \n",
414
+ "3269 \n",
415
+ "3270 \n",
416
+ "3271 I have been reading about entropy and arrows o... \n",
417
  "\n",
418
+ " url \\\n",
419
+ "0 http://www.reddit.com/r/AskReddit/comments/15s... \n",
420
+ "1 http://www.reddit.com/r/AskReddit/comments/15s... \n",
421
+ "2 http://www.reddit.com/r/AskReddit/comments/15s... \n",
422
+ "3 http://www.reddit.com/r/AskReddit/comments/15s... \n",
423
+ "4 http://www.reddit.com/r/AskReddit/comments/15s... \n",
424
+ "... ... \n",
425
+ "3267 http://www.reddit.com/r/AskReddit/comments/15q... \n",
426
+ "3268 http://www.reddit.com/r/AskReddit/comments/15q... \n",
427
+ "3269 http://www.reddit.com/r/AskReddit/comments/15q... \n",
428
+ "3270 http://www.reddit.com/r/AskReddit/comments/15q... \n",
429
+ "3271 http://www.reddit.com/r/AskReddit/comments/15q... \n",
430
  "\n",
431
+ " created_utc author id downs ups \\\n",
432
+ "0 2013-01-01 23:59:40+00:00 [deleted] 15sn6y 0 2 \n",
433
+ "1 2013-01-01 23:59:31+00:00 PaytonAdams 15sn6m 0 5 \n",
434
+ "2 2013-01-01 23:59:20+00:00 [deleted] 15sn6b 0 1 \n",
435
+ "3 2013-01-01 23:58:37+00:00 [deleted] 15sn4u 0 0 \n",
436
+ "4 2013-01-01 23:58:15+00:00 Honeybeard 15sn44 0 11 \n",
437
+ "... ... ... ... ... ... \n",
438
+ "3267 2013-01-01 00:01:36+00:00 kelsofb 15qzen 0 0 \n",
439
+ "3268 2013-01-01 00:01:34+00:00 ImJE5US 15qzei 0 1 \n",
440
+ "3269 2013-01-01 00:01:15+00:00 Sangfroid_Sonder 15qzdx 0 1 \n",
441
+ "3270 2013-01-01 00:00:58+00:00 [deleted] 15qzdc 0 1 \n",
442
+ "3271 2013-01-01 00:00:53+00:00 [deleted] 15qzd3 0 0 \n",
443
  "\n",
444
+ " date time \n",
445
+ "0 2013-01-01 23:59:40 \n",
446
+ "1 2013-01-01 23:59:31 \n",
447
+ "2 2013-01-01 23:59:20 \n",
448
+ "3 2013-01-01 23:58:37 \n",
449
+ "4 2013-01-01 23:58:15 \n",
450
+ "... ... ... \n",
451
+ "3267 2013-01-01 00:01:36 \n",
452
+ "3268 2013-01-01 00:01:34 \n",
453
+ "3269 2013-01-01 00:01:15 \n",
454
+ "3270 2013-01-01 00:00:58 \n",
455
+ "3271 2013-01-01 00:00:53 \n",
456
  "\n",
457
+ "[3272 rows x 13 columns]"
458
  ]
459
  },
460
+ "execution_count": 29,
461
  "metadata": {},
462
  "output_type": "execute_result"
463
  }
 
470
  {
471
  "cell_type": "code",
472
  "execution_count": 16,
473
+ "id": "28df4b06",
474
  "metadata": {},
475
  "outputs": [
476
  {
 
502
  {
503
  "cell_type": "code",
504
  "execution_count": 18,
505
+ "id": "e322b6c0",
506
  "metadata": {},
507
  "outputs": [],
508
  "source": [
 
512
  {
513
  "cell_type": "code",
514
  "execution_count": 21,
515
+ "id": "ed1b06c3",
516
  "metadata": {},
517
  "outputs": [],
518
  "source": [
 
523
  },
524
  {
525
  "cell_type": "code",
526
+ "execution_count": 33,
527
+ "id": "ff477737",
528
+ "metadata": {},
529
+ "outputs": [
530
+ {
531
+ "data": {
532
+ "text/plain": [
533
+ "2013-01-01 3272\n",
534
+ "Name: date, dtype: int64"
535
+ ]
536
+ },
537
+ "execution_count": 33,
538
+ "metadata": {},
539
+ "output_type": "execute_result"
540
+ }
541
+ ],
542
+ "source": [
543
+ "df.date.value_counts()"
544
+ ]
545
+ },
546
+ {
547
+ "cell_type": "code",
548
+ "execution_count": 26,
549
+ "id": "1d11b967",
550
+ "metadata": {},
551
+ "outputs": [],
552
+ "source": [
553
+ "new_df = df.drop_duplicates(subset=['id'], keep=\"first\")"
554
+ ]
555
+ },
556
+ {
557
+ "cell_type": "code",
558
+ "execution_count": 27,
559
+ "id": "eec00dd6",
560
  "metadata": {},
561
  "outputs": [
562
  {
 
565
  "<Axes: >"
566
  ]
567
  },
568
+ "execution_count": 27,
569
  "metadata": {},
570
  "output_type": "execute_result"
571
  },
572
  {
573
  "data": {
574
+ "image/png": "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/Xo9+uijeuGFF3To0CGfvrp27ar58+dr1qxZSktLU3Jysp599lln/cGDB3XppZfq4MGD6tOnjyIjI/XCCy/oxhtvdNo888wzmj9/voqLi2vNm5WVpfnz59dYnp2drfbt2zd1GAAAQAs6deqUpk6dqpKSEsXGxgY7jsPqlapQN3fuXJ+rW6WlpUpKSlJaWprVB8Xj8Sg3N1fXXXedIiIirPUbaG7NLbk7u0T+YAp29n5Zr+mDrPQm39/f/P2yXpOkZm2ztj797a+p497c8fJHXdsasiBHDw2tdOV8l/wb+7rGoPryQMyrung8Hr3yyisB305TWC2qEhISJEnFxcU+V6qKi4s1aNAgp82xY8d87nfmzBkdP37cuX9CQkKNq03e3xtq411fm6ioKEVFRdVYHhEREZADI1D9Bppbc0vuzi6RP5iClb38bJiV7daWv+f9W2u8d6r8bJjT3pbm7IO/425rvJqzrfLKf4+hW+e71Lj8dY5BteWBmFduZPV7qpKTk5WQkKAdO3Y4y0pLS7V7926lpKRIklJSUnTixAkVFBQ4bXbu3KnKykoNGzbMaZOXl+fzumlubq4uueQSde7c2WlTdTveNt7tAAAAtCS/i6qTJ0+qsLBQhYWFkr55c3phYaGOHDmisLAwzZkzRw8//LA2b96s999/XzfffLMSExOd91316dNH119/vWbMmKE9e/bo7bff1uzZszVlyhQlJiZKkqZOnarIyEhNnz5dBw4c0Pr16/XUU0/5vHR35513KicnR0888YQ++ugjZWVlad++fZo9e3bzRwUBwzfuAqhNU88NbjinuCGjTW1tf6vyu6jat2+fBg8erMGDB0uSMjMzNXjwYM2bN0+SdO+99+qOO+7QzJkzdfnll+vkyZPKyclRdHS008e6devUu3dvjRo1SmPGjNFVV13l8x1UcXFx2r59uw4fPqwhQ4bo7rvv1rx583y+y+rKK69Udna2Vq1apYEDB+rPf/6zNm3apH79+jV5MACgLs19omjLTzRAW+H3e6quueYa1feBwbCwMC1YsEALFiyos02XLl2UnZ1d73YGDBigN998s942kyZN0qRJk+oPDAAhpLb3OQV7u8HKBLQ2/O0/AECbF4g/CMzVybaHogoAAMACiioAaGW4QhLaAnFVDKGBogohg5MM3Ka1Pzm25n0DAoGiCkHByRpAa9Ga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\n",
575
  "text/plain": [
576
  "<Figure size 640x480 with 1 Axes>"
577
  ]
 
581
  }
582
  ],
583
  "source": [
584
+ "new_df.date.hist(bins=400)"
 
 
 
 
 
 
 
 
 
 
585
  ]
586
  },
587
  {
588
  "cell_type": "code",
589
  "execution_count": null,
590
+ "id": "1acf60dc",
591
  "metadata": {},
592
  "outputs": [],
593
+ "source": []
 
 
594
  }
595
  ],
596
  "metadata": {
utilities/readme_update.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ from datasets.download.download_config import DownloadConfig
4
+ from datasets.utils.file_utils import cached_path
5
+ from datasets.utils.hub import hf_hub_url
6
+
7
+
8
+ def get_readme_path(dataset_name):
9
+ readme_path = hf_hub_url(dataset_name, "README.md")
10
+ return cached_path(readme_path, download_config=DownloadConfig())
11
+
12
+
13
+ def update_readme(dataset_name, subreddit, date_to_fetch):
14
+ path = get_readme_path(dataset_name=dataset_name)
15
+ readme_text = f"""
16
+ # Dataset Name
17
+ {dataset_name}
18
+
19
+ ## Update Frequency
20
+ The dataset is updated daily and covers the period from `{os.environ["START_DATE"]}` to {date_to_fetch}
21
+
22
+ ## Dataset Overview
23
+ The goal is to have an open dataset of `{subreddit}` submissions. This has been taken from the Pushshift API.
24
+
25
+ ## Data Collection
26
+ This has been collected with sequential calls that follow the pagination of the pushshift request.
27
+
28
+ ## Attribution
29
+ Data sourced from the Pushshift API.
30
+ """
31
+
32
+ append_readme(path=path, readme_text=readme_text)
33
+ return readme_text
34
+
35
+
36
+ def append_readme(path, readme_text):
37
+ generated_below_marker = "--- Generated Below ---"
38
+ with open(path, "r") as file:
39
+ content = file.read()
40
+
41
+ if generated_below_marker in content:
42
+ index = content.index(generated_below_marker) + len(generated_below_marker)
43
+ content = content[:index] + "\n" + readme_text + "\n" + content[index:]
44
+ else:
45
+ content += "\n" + generated_below_marker + "\n" + readme_text + "\n"
46
+
47
+ with open(path, "w") as file:
48
+ file.write(content)