0

私が実行すると:

my_sframe['col_1'] = ''

空白の列が表示されます。これは私が望んでいたものです。

しかし、私が実行すると:

my_sframe['col_1'] = {}

予期しないデータ型を示すエラーが表示されます。

次に示すように、SFrame API はこれに対応していません。

https://turi.com/products/create/docs/generated/graphlab.SFrame.html

この時点での私の理解では、SFrame の列は辞書にすることはできません。

しかし、好奇心から私はこれを試しました:

my_sframe['col_1'] = graphlab.text_analytics.count_words('my_text')

type(my_sframe['col_1'][1])

out: dict

この結果は、まさに私の以前の理解とは正反対のものでした。

私が欲しいのは辞書列で、各行には独自の辞書があり.count_wordsますimport string.

これは双方向ですか、それとも.count_words例外であり、そのようなデータ変換を再現できると期待すべきではありませんか?

お知らせ下さい、

ありがとうございました

アップデート

GitHub に関する関連情報は次のとおりです。

https://github.com/turi-code/how-to/blob/master/sframe_pack.py

このテクニックが私が求めているものを作成できるかどうかはわかりませんが、まだ試しています. 誰かがこれについて考えているかどうか教えてください。

4

1 に答える 1

0

私はまだより効率的な回答を受け入れていますが、それまでの間、他の誰かがこの問題を抱えている場合は、辞書の SFrame 列を作成する 1 つの方法を次に示します。私はちょうどそれを理解しました:

def count_words(text):
    words = text.split()
    wordfreq = {}
    for x in words:
        if x not in wordfreq:
            wordfreq[x] = 0
        wordfreq[x] += 1
    return wordfreq

sframe['word_count'] = sframe['text'].apply(count_words)

dtype が dict であることがわかります。少し複雑なようです。エラー: 予期しないデータ型と言う代わりに、新しい列にキャスト アプローチを使用できない理由を知りたいです。

于 2016-12-28T03:40:41.140 に答える