Phi*_*ats 3 python pandas dask
我有一个URL列表,我很乐意立即将它们读到dask数据框,但看起来read_csv不能使用星号http.有没有办法实现这一目标?
这是一个例子:
link = 'http://web.mta.info/developers/'
data = [ 'data/nyct/turnstile/turnstile_170128.txt',
'data/nyct/turnstile/turnstile_170121.txt',
'data/nyct/turnstile/turnstile_170114.txt',
'data/nyct/turnstile/turnstile_170107.txt'
]
Run Code Online (Sandbox Code Playgroud)
而我想要的是
df = dd.read_csv('XXXX*X')
尝试使用dask.delayed将每个url变成一个懒惰的pandas数据帧,然后使用dask.dataframe.from_delayed 将这些惰性值转换为完整的dask数据帧
import pandas as pd
import dask
import dask.dataframe as dd
dfs = [dask.delayed(pd.read_csv)(url) for url in urls]
df = dd.from_delayed(dfs)
Run Code Online (Sandbox Code Playgroud)
这将立即读取您的一个链接,以便找出元数据(列,dtypes).如果您提前知道这些dtypes和链接,那么您可以通过将示例空数据帧传递给它来避免这种情况dd.from_delayed(..., meta=sample_df)
另见:http://dask.pydata.org/en/latest/delayed-collections.html
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |