将行值转换为多列-Dask

将行值转换为多列-Dask,dask,dask-dataframe,Dask,Dask Dataframe,我有一个包含单列数据的文件。其中很少有需要转换为列作为标题。经过几次dask计算后,我将数据帧缩减如下: In [9]: df.compute() Out[9]: * 0 140 Global Intel 1 1 Frequency 2 2 Currency 3

我有一个包含单列数据的文件。其中很少有需要转换为列作为标题。经过几次dask计算后,我将数据帧缩减如下:

In [9]: df.compute()
Out[9]:
                                    *
0                    140 Global Intel
1                         1 Frequency
2                          2 Currency
3               3 Currency Conversion
4                            4 Market
5                      5 Segmentation
6                            6 Sector
是否可以使用dask本身将行转换为列并创建新的数据帧? 感谢您的帮助

编辑: 这是我的最后一个数据帧在Transpose之后的样子

In [22]: df_final
Out[22]:
Empty DataFrame
Columns: [140 Global Intel, 1 Frequency, 2 Currency, 3 Currency Conversion, 4 Market, 5 Segmentation, 6 Sector]
Index: []

您可以使用以下方法从数据帧df的列(在您的示例中:
column='*'
)创建空数据帧:

import pandas as pd
df_empty = pd.DataFrame(columns=df.compute()[[column]].T)
如果打印
df_empty

Empty DataFrame
Columns: [(140 Global Intel, 1 Frequency, 2 Currency, 3 Currency Conversion, 4 Market, 5 Segmentation, 6 Sector)]
Index: [] 

如果要切换回Dask,请使用
dd.from\u

,但是否要使用带有该标题的单列数据集?或者将其用于另一个标题?在后一种情况下,您可以获取这些值并创建一个新的数据帧,并将这些值作为标头(您可以在创建或更新数据帧时指定该选项,至少在pandas中,它应该与dask具有相同的API)@Isabi I已包含用于引用的最终输出根据,df.compute()应返回pandas数据帧。因此,您可以使用熊猫api。df_pandas=df.compute()cols=df_pandas.values.tolist()。然后创建一个新的dask数据帧,如中所示