如何从 url 列表创建 Dask DataFrame?
How to create Dask DataFrame from a list of urls?
我有一个 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'
]
而我想要的是
df = dd.read_csv('XXXX*X')
尝试使用 dask.delayed to turn each of your urls into a lazy pandas dataframe and then use 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)
这将立即读取 一个 链接,以便找出元数据(列、数据类型)。如果您提前知道这些数据类型和链接,那么您可以通过将示例空数据帧传递给 dd.from_delayed(..., meta=sample_df)
来避免这种情况
另请参阅:http://dask.pydata.org/en/latest/delayed-collections.html
我有一个 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'
]
而我想要的是
df = dd.read_csv('XXXX*X')
尝试使用 dask.delayed to turn each of your urls into a lazy pandas dataframe and then use 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)
这将立即读取 一个 链接,以便找出元数据(列、数据类型)。如果您提前知道这些数据类型和链接,那么您可以通过将示例空数据帧传递给 dd.from_delayed(..., meta=sample_df)
另请参阅:http://dask.pydata.org/en/latest/delayed-collections.html