【发布时间】:2017-06-10 19:18:37
【问题描述】:
我正在尝试通过dask 使用get_dummies,但它不会转换我的变量,也不会出错:
>>> import dask.dataframe as dd
>>> import pandas as pd
>>> df_d = dd.read_csv('/datasets/dask_example/dask_get_dummies_example.csv')
>>> df_d.head()
uid gender
0 1 M
1 2 NaN
2 3 NaN
3 4 F
4 5 NaN
>>> daskDataCategorical = df_d[['gender']]
>>> daskDataDummies = dd.get_dummies(daskDataCategorical)
>>> daskDataDummies.head()
gender
0 M
1 NaN
2 NaN
3 F
4 NaN
>>> daskDataDummies.compute()
gender
0 M
1 NaN
2 NaN
3 F
4 NaN
5 F
6 M
7 F
8 M
9 F
>>>
pandas 等价(在新终端中运行以防万一)是:
>>> import pandas as pd
>>> df_p = pd.read_csv('/datasets/dask_example/dask_get_dummies_example.csv')
>>> df_p.head()
uid gender
0 1 M
1 2 NaN
2 3 NaN
3 4 F
4 5 NaN
>>> pandasDataCategorical = df_p[['gender']]
>>> pandasDataDummies = pd.get_dummies(pandasDataCategorical)
>>> pandasDataDummies.head()
gender_F gender_M
0 0.0 1.0
1 0.0 0.0
2 0.0 0.0
3 1.0 0.0
4 0.0 0.0
>>>
我对@987654321@的理解是应该可以,但是需要先拉到pandas吗?如果是这样,它就违背了我使用它的目的,因为我的数据集(~500GB)不适合pandas 数据框。我误读了这个吗? TIA。
【问题讨论】:
-
选择列不需要列表:
df_d[['gender']]-->df_d['gender'] -
真实例子(现有代码)是200+变量
标签: python pandas dask dummy-variable