2016-08-08 11 views
0

Ich habe CSV-Datei liest dask auf diese Weise mit:Dask Fehler: Länge des Wertes entspricht nicht Länge Index

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

Dann würde ich einfache Logik pro Zeile bewerben, die ziemlich gut in Pandas funktioniert:

columns = list(train.columns) 

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

Leider letzte Codezeile erzeugt die folgenden Fehler: Länge von Werten entspricht nicht Länge Index

Was mache ich falsch?

+0

Hallo @ Rocketq, können Sie ein Beispiel geben, das von jemandem ohne Ihren Datensatz leicht ausgeführt werden kann? http://stackoverflow.com/help/mcve – MRocklin

Antwort

0

Wenn x kein Leerzeichen enthält, wird x.split ('') eine Liste mit einem einzelnen Element x zurückgeben. Wenn Sie versuchen, auf das zweite Element von x.split ('') zuzugreifen, rufen Sie x.split ('') [1]. Es wird den Fehler geben:

"Länge der Werte stimmt nicht mit der Länge des Index überein", da kein Element bei Index 1 in x.split ('') ist.

+0

Nein, Code funktioniert gut in Pandas – Rocketq

+0

@ Rocketq Es wird gut funktionieren, wenn alle x Leerzeichen enthält – surru

+0

Ja, der Punkt ist, dass Problem mit etwas anderem verwandt ist – Rocketq

Verwandte Themen