ede*_*esz 6 concat dataframe python-2.7 dask
我在Python中有以下Dask DataFrame:
d = [
['A','B','C','D','E','F'],
[1, 4, 8, 1, 3, 5],
[6, 6, 2, 2, 0, 0],
[9, 4, 5, 0, 6, 35],
[0, 1, 7, 10, 9, 4],
[0, 7, 2, 6, 1, 2]
]
df = pd.DataFrame(d[1:], columns=d[0])
ddf = dd.from_pandas(df, npartitions=5)
Run Code Online (Sandbox Code Playgroud)
我试图垂直连接2 Dask DataFrames:
A B C D E F
0 1 4 8 1 3 5
1 6 6 2 2 0 0
2 9 4 5 0 6 35
3 0 1 7 10 9 4
4 0 7 2 6 1 2
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
Dask DataFrame Structure:
A B C D E F
npartitions=4
0 int64 int64 int64 int64 int64 int64
1 ... ... ... ... ... ...
2 ... ... ... ... ... ...
3 ... ... ... ... ... ...
4 ... ... ... ... ... ...
Dask Name: from_pandas, 4 tasks
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试:
ddf_i = ddf + 11.5
dd.concat([ddf,ddf_i],axis=0)
Run Code Online (Sandbox Code Playgroud)
然后它似乎工作.将此设置为True(在性能 - 速度方面)是否存在问题?或者有另一种方法来垂直连接Dask DataFrames吗?
如果您检查 dataframe 的划分ddf.divisions,您会发现,假设有一个分区,它具有索引的边缘:(0, 4)。这对于 dask 很有用,因为它知道您何时对数据进行某些操作,而不是使用不包含所需索引值的分区。这也是为什么当索引适合作业时,某些 dask 操作会快得多。
连接时,第二个数据帧具有与第一个数据帧相同的索引。如果索引值在两个分区中具有不同的范围,则串联将无需交错即可工作。
| 归档时间: |
|
| 查看次数: |
3978 次 |
| 最近记录: |