ped*_*uas 3 python dataframe pandas
我正在尝试读取以下数据集并将其转换为 pandas 数据框:
https ://www.kaggle.com/marlesson/meli-data-challenge-2020
它是一个包含以下格式行的文件:
{'event_info': '...', 'event_timestamp': '...', 'event_type': '...'}
{'event_info': '...', 'event_timestamp': '...', 'event_type': '...'}
{'event_info': '...', 'event_timestamp': '...', 'event_type': '...'}
Run Code Online (Sandbox Code Playgroud)
我一直在尝试以下方法,但花费的时间太长(+60分钟):
import numpy as np
import pandas as pd
import fileinput
import json
%%time
df = pd.DataFrame()
with fileinput.input(files='/kaggle/input/meli-data-challenge-2020/train_dataset.jl') as file:
for line in file:
conv = json.loads(line)
df = df.append(conv, ignore_index=True)
df.head()
Run Code Online (Sandbox Code Playgroud)
在此代码中,它以字符串形式逐行读取文件,将每个文件转换为 json,然后将其附加到数据帧中。
有什么方法可以更快地将数据集转换为 pandas 数据框吗?
我试图读取的文件是一个包含多个对象的 JSON 文件。Pandasread_json()支持lines这样的数据参数:
%%time
df = pd.read_json('/kaggle/input/meli-data-challenge-2020/item_data.jl', lines=True)
Output: CPU times: user 14.1 s, sys: 3.31 s, total: 17.4 s
Wall time: 18.6 s
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3002 次 |
| 最近记录: |