2017-10-17 8 views
0

私のデータフレームに新しい列を追加しようとしました。うまくいきません...うまくいきますが、常にSettingWithCopyWarningsがスローされます。CopyWarningと単語カウントを設定する

私はすべてのメソッドproposed hereを使用し、解決のために他のStackoverflowスレッドも検索しましたが、まだ到着しません。

DataFrameに新しい列として追加される単語の動的リストがあります。各列には、テキストの行にある単語の数があるはずです。

import re 
import pandas as pd 

df = pd.read_csv('manyLinesOfText.csv') 

word_lst = ['foo', 'bar', 'spam'] 

def element_word_count(text, **kwds): 
    return float(len(re.findall(kwds['kwds']['countword'], text))) 

for word in word_lst: 
    df[word] = df['textcolumn'].apply(element_word_count, kdws = {'countword':word}) 

これは機能しますが、迷惑な警告が表示されます。

私はassignを試しましたが、assignの構文は "単語"を列のタイトルとして解釈するため、全く動作しません。

私はdf.insertを試しましたが、これはNoneType例外ではありません。これは、私のdfが間違いなくNoneTypeではないので奇妙です。

私はdf.loc[:,word]を試しましたが、何も解決しません。それは動作し、同じ例外がスローされます。

たぶん私は一日の仕事の後、私の脳に結びついているだけかもしれませんが、私は解決策を見つけることができません。

私はdf.applyの私の使用がちょっと変わったと思うので、誰かが与えられた動的な単語のリストを数えさせてくれたら、私は何でもできます。

ありがとうございます!

+1

「word_count」とは何ですか? – user2357112

+0

入力ミスを修正しました。ありがとう。 – Anderas

答えて

0

エラーが見つかりました。私の投稿を読む時間を取った皆様に感謝します。 ここのコードは実際にはOKです。他の場所で問題が発見されたが、この部分で警告が消えた。

関連する問題