dask.dataframe.from_pandas
dask.dataframe.from_pandas¶
- dask.dataframe.from_pandas(data: pandas.core.frame.DataFrame, npartitions: int | None = None, chunksize: int | None = None, sort: bool = True, name: str | None = None) dask.dataframe.core.DataFrame [源代码]¶
- dask.dataframe.from_pandas(data: pandas.core.series.Series, npartitions: int | None = None, chunksize: int | None = None, sort: bool = True, name: str | None = None) dask.dataframe.core.Series
从 Pandas DataFrame 构建 Dask DataFrame
这将一个内存中的 Pandas 数据框分割成多个部分,并从这些部分构建一个 dask.dataframe,Dask.dataframe 可以在这些部分上并行操作。默认情况下,输入数据框将按索引排序,以生成干净分割的分区(具有已知的分区)。为了保持输入顺序,请确保输入索引是单调递增的。
sort=False
选项也将避免重新排序,但不会产生已知的分区。需要注意的是,尽管有并行处理,Dask.dataframe 并不总是比 Pandas 更快。我们建议您尽可能长时间地使用 Pandas,然后再切换到 Dask.dataframe。
- 参数
- 数据pandas.DataFrame 或 pandas.Series
用于构造 Dask DataFrame/Series 的 DataFrame/Series
- npartitionsint, 可选
要创建的索引分区数量。请注意,如果
data.index
中存在重复值或元素不足,输出可能会有比请求更少的分区。- chunksizeint, 可选
每个索引分区使用的所需行数。请注意,根据数据框的大小和索引,实际分区大小可能会有所不同。
- sort: bool
首先按索引对输入进行排序,以获得干净分割的分区(具有已知的分割)。如果为 False,则不会对输入进行排序,所有分割都将设置为 None。默认为 True。
- 名称: 字符串, 可选
数据框的可选键名。默认为对输入进行哈希处理。
- 返回
- dask.DataFrame 或 dask.Series
一个沿着索引分区的dask DataFrame/Series
- Raises
- 类型错误
如果传入的不是
pandas.DataFrame
或pandas.Series
。
参见
from_array
从具有记录数据类型的数组构造一个 dask.DataFrame
read_csv
从 CSV 文件构建一个 dask.DataFrame
示例
>>> from dask.dataframe import from_pandas >>> df = pd.DataFrame(dict(a=list('aabbcc'), b=list(range(6))), ... index=pd.date_range(start='20100101', periods=6)) >>> ddf = from_pandas(df, npartitions=3) >>> ddf.divisions (Timestamp('2010-01-01 00:00:00', freq='D'), Timestamp('2010-01-03 00:00:00', freq='D'), Timestamp('2010-01-05 00:00:00', freq='D'), Timestamp('2010-01-06 00:00:00', freq='D')) >>> ddf = from_pandas(df.a, npartitions=3) # Works with Series too! >>> ddf.divisions (Timestamp('2010-01-01 00:00:00', freq='D'), Timestamp('2010-01-03 00:00:00', freq='D'), Timestamp('2010-01-05 00:00:00', freq='D'), Timestamp('2010-01-06 00:00:00', freq='D'))