1

我以这种方式使用dask读取了 csv 文件:

import dask.dataframe  as dd
train = dd.read_csv('act_train.csv')

然后我想对每行应用简单的逻辑,这在熊猫中工作得很好:

columns = list(train.columns)

for col in columns[1:]:
    train[col] = train[col].apply(lambda x: x if x == -1 else x.split(' ')[1])

不幸的是,最后一行代码生成以下错误:值的长度与索引的长度不匹配

我究竟做错了什么?

4

1 回答 1

0

如果 x 不包含空格字符,则 x.split(' ') 将返回一个包含单个元素 x 的列表。

所以,当你试图通过调用 x.split('')[1] 来访问 x.split('') 的第二个元素时。它会给出错误:

“值的长度与索引的长度不匹配”,因为 x.split(' ') 中的索引 1 处没有元素。

于 2016-08-08T13:30:30.400 回答