CSV
分類モデルをトレーニングする前に、メッセージボードの投稿(ファイルに含まれている)を使用して、データなどをクリーンアップしようとしています。
私が得るまで、物事は順調に進んでいました:
TypeError: 'float'オブジェクトは反復可能ではありません
行に応じて:
letters_only = ''.join([i for i in textToProcess if not i.isdigit()])
textToProcessの由来(train["text"][i])
。
だから...私が電話をかけて自分のデータをチェックしようと思ったとき:
print train.isnull().sum()
print test.isnull().sum()
次の出力が得られました。
id 0
category 0
title 0
text 1
train 26
dtype: int64
id 5512
category 5512
title 5512
text 5512
train 5512
dtype: int64
質問:これは、テストセットでは、すべての列に5512個のnull値があることを意味しますか?
この時点まで、輸入品などはほとんど期待通りに動いているように見えたので、これは奇妙なことです。たとえば、たとえばを呼び出すとtrain["text"][0]
、期待される出力(つまりテキスト)が生成されました。
それが役立つ場合、私の元のread_csvインポート呼び出しは次のようになりました:
train = pd.read_csv(full_train_filename, header=0, encoding = 'utf-8')
test = pd.read_csv(full_test_filename, header=0, encoding = 'utf-8')`
ここに直接の質問が1つあるかどうかはわかりませんが、私が間違ったことを誰かに見てもらいたいと思っています。
どんな考えでも大歓迎です。
から作成された、のチェックNaN
値が必要だと思います。あなたは使用することができますとして:DataFrame
csv
isnull
any
boolean indexing
test[test.isnull().any(1)]
サンプル:
import pandas as pd
import numpy as np
test = pd.DataFrame({'a': {0: 'r', 1: 'r', 2: 't', 3: 'y'},
'b': {0: 'a', 1: 'a', 2: 's', 3: 'g'},
'c': {0: 7.0, 1: 5.0, 2: np.nan, 3: 4.0}})
print (test)
a b c
0 r a 7.0
1 r a 5.0
2 t s NaN
3 y g 4.0
print (test[test.isnull().any(1)])
a b c
2 t s NaN
次に、テキストエディタなどNotepad++
を使用して、この問題のある行を確認できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加