2017-09-18 19 views
1

初めて感情分析を行っています。私は昆虫のレビューを分析しています。私はCSVファイルに書き込む前にレビューをリストに変換しました。私はこれらのレビューでいくつかのコーディング上の問題があるので、私はこのコードを実行しています。地図を使用してパンダのデータフレーム列に関数を適用する

df['newtext'] = map(lambda x: x.decode('latin-1').encode('ascii','ignore'),df['comment']) 

これは、新しい列(をnewText)を作成しますが、代わりに私が助けてくださいのpython 3を使用しています0x000001C1B9CE07F0

でこのメッセージ

マップオブジェクトを取得していますきれいなテキストを取得します。ありがとうございます

+1

未来から、 'PANDAS'タグとパンダの質問にタグを付けてください、それは私がこのエラーエラー「str」はオブジェクトが属性「復号」 –

答えて

0

これを試してください。マップオブジェクトをリストに変換します。

df['newtext'] = list(map(lambda x: x.decode('latin-1').encode('ascii','ignore'),df['comment'])) 
0

df['newtext'] = list(map(lambda x: x.decode('latin-1').encode('ascii','ignore'),df['comment'])) 
+0

のためにあります:のみの.strアクセサを使用することができます –

0

以下のようにちょうどPythonのmap機能がリストにキャストする必要があるマップオブジェクトを返すリストにマップオブジェクトに変換します。 Example

だから、あなただけのリスト()

df['newtext'] = list(map(lambda x: x.decode('latin-1').encode('ascii','ignore'),df['comment'])) 
1

これはpandasある中で、あなたのマップ()の呼び出しをキャストすることができます。 mapは、特に大きなデータフレームの場合、処理が遅くなります。文字列の列は、マップやループよりはるかに高速なベクター化されたメソッドを提供していることがわかります。

パンダニックの方法は、strアクセサメソッド(encodedecode)を呼び出すことです。これはまったく同じことですが、はるかに高速です。

df['newtext'] = df.comments.str.decode('latin-1').str.encode('ascii','ignore') 
+0

はAttributeErrorを持っていない得ることを目的 –

+0

このコードを試しましたが、このエラーが発生します。 –

+0

@Analyticsbeginner Uh ... 'df.comments.astype(str).str.decode( 'latin-1')。 str.encode( 'ascii'、 'ignore') ' –

関連する問題