langdetect出力を使用してデータフレームの新しい列にインポートする

Aalt92

Pythonを使ったプログラミングはかなり新しいので、パンダのデータフレーム内のテキストのセグメントを言語で検出しようとしました。そこで、最初に「langdetect」パッケージの関数を作成しました

import pandas as pd
from langdetect import detect

def language_detect(x):
    lang = detect(x)
    print(lang)

2番目のステップは、処理のためにデータフレームをフィードすることです。検出が必要なすべてのセグメントは、データフレームの同じ列ヘッダーの下の別々の行にあります。

result = [language_detect(x) for x in df['column_name']]
df['l_detect'] = pd.append(result)

出力では、テキストが正しく認識されていることがわかります。しかし、結果を印刷しようとすると。すべてのエントリの値のみが返されます 'none'

だから私の質問は:

  1. 関数からの印刷出力に正しい値があるのに、なぜ「none」が表示されるのですか?
  2. これを現在のデータフレームに添付するにはどうすればよいですか。追加しようとすると、すべてのフィールドで「none」が表示されます。

前もって感謝します。

クロノイク

問題はresult、関数language_detect()が何も返さないために空であるということです(結果を出力するだけです)。

import pandas as pd
from langdetect import detect

lst = [('this is a test', 1), ('what language is this?', 4), ('stackoverflow is a website', 23)]
df = pd.DataFrame(lst, columns = ['text', 'something'])

def language_detect(x):
    lang = detect(x)
    print(lang)

result = [language_detect(x) for x in df['text']]
result
#Output:[None, None, None]

戻り値を与えるだけです:

def language_detect(x):
    lang = detect(x)
    return lang

df['l_detect'] = df['text'].apply(language_detect)

df.head()
#Output:
#                         text  something l_detect
#0              this is a test          1       en
#1      what language is this?          4       en
#2  stackoverflow is a website         23       en

そしてそれは期待通りに動作します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

pandasデータフレームを使用して、データフレーム値の各列を1つずつ新しいシートに追加する方法

分類Dev

あるデータフレームの単一の列をループして別のデータフレームの列と比較し、パンダを使用して最初のデータフレームに新しい列を作成します

分類Dev

各データフレーム行をタプルの各ポイントと比較し、最も近いポイントのインデックスを新しい列に割り当てるにはどうすればよいですか?

分類Dev

別の列に対してifステートメントを使用して、pandasデータフレームに新しい列を作成します

分類Dev

dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

分類Dev

パンダを使用して新しいデータフレームを新しい列にインデックス付けする

分類Dev

ポイントがどのポリゴンにあるかを判別し、そのポリゴンの名前を新しい列として大きなパンダデータフレームに適用します

分類Dev

他のデータフレームのインデックスのリストに従って、他のデータフレームからデータフレームに新しい列を追加する

分類Dev

Pythonのループを使用してデータフレームに新しい列を作成する方法

分類Dev

データフレーム内の他の複数の列の値を使用して、データフレームに新しい列を追加する-spark / scala

分類Dev

Pythonがデータフレーム列のtrue / false条件をテストし、新しい列に出力を返す

分類Dev

R-別のデータフレームの一致する値を使用して、データフレームに新しい列を追加します

分類Dev

notnull値のみを使用してパンダデータフレームの新しい列に新しい派生列を作成する方法

分類Dev

適用を使用して既存のデータフレームに2つの新しい列を追加する

分類Dev

別の変数の数式を使用して、データフレームに新しい列を作成する

分類Dev

あるデータフレームから別のデータフレームに列をマッピングして新しい列を作成する

分類Dev

他の列の望ましい部分にインデックスを付けて、パンダデータフレームに新しい列を作成する方法

分類Dev

特定のインデックス名(文字列)を新しいデータフレームにコピーする

分類Dev

2つのforループとifステートメントを使用して既存のデータフレームに新しい列を入力します

分類Dev

列の値を使用してデータフレームに新しい行を作成する

分類Dev

既存の変数を使用してデータフレームに新しい列を追加する

分類Dev

Java API と JavaRDD<Row> を使用して Spark SQL のデータフレームに新しい列を追加する

分類Dev

異なる長さのリストを新しい列としてデータフレームに追加する

分類Dev

データフレーム内の値を検索し、新しい列にエクスポートします

分類Dev

単語をパンダデータフレームの新しい列にトークン化する

分類Dev

別のデータフレームに基づいてパンダに新しい列を作成する

分類Dev

既存のデータフレームに新しい列としてベクトルを追加する

分類Dev

2番目のルックアップデータフレームのx、yインデックス番号を使用して、データフレームに新しい列を作成するにはどうすればよいですか?

分類Dev

R-既存の列と一致する値のインデックスに基づいて新しい列データフレームを作成します

Related 関連記事

  1. 1

    pandasデータフレームを使用して、データフレーム値の各列を1つずつ新しいシートに追加する方法

  2. 2

    あるデータフレームの単一の列をループして別のデータフレームの列と比較し、パンダを使用して最初のデータフレームに新しい列を作成します

  3. 3

    各データフレーム行をタプルの各ポイントと比較し、最も近いポイントのインデックスを新しい列に割り当てるにはどうすればよいですか?

  4. 4

    別の列に対してifステートメントを使用して、pandasデータフレームに新しい列を作成します

  5. 5

    dplyrを使用して、他のデータフレームに基づいて新しい列を追加する

  6. 6

    パンダを使用して新しいデータフレームを新しい列にインデックス付けする

  7. 7

    ポイントがどのポリゴンにあるかを判別し、そのポリゴンの名前を新しい列として大きなパンダデータフレームに適用します

  8. 8

    他のデータフレームのインデックスのリストに従って、他のデータフレームからデータフレームに新しい列を追加する

  9. 9

    Pythonのループを使用してデータフレームに新しい列を作成する方法

  10. 10

    データフレーム内の他の複数の列の値を使用して、データフレームに新しい列を追加する-spark / scala

  11. 11

    Pythonがデータフレーム列のtrue / false条件をテストし、新しい列に出力を返す

  12. 12

    R-別のデータフレームの一致する値を使用して、データフレームに新しい列を追加します

  13. 13

    notnull値のみを使用してパンダデータフレームの新しい列に新しい派生列を作成する方法

  14. 14

    適用を使用して既存のデータフレームに2つの新しい列を追加する

  15. 15

    別の変数の数式を使用して、データフレームに新しい列を作成する

  16. 16

    あるデータフレームから別のデータフレームに列をマッピングして新しい列を作成する

  17. 17

    他の列の望ましい部分にインデックスを付けて、パンダデータフレームに新しい列を作成する方法

  18. 18

    特定のインデックス名(文字列)を新しいデータフレームにコピーする

  19. 19

    2つのforループとifステートメントを使用して既存のデータフレームに新しい列を入力します

  20. 20

    列の値を使用してデータフレームに新しい行を作成する

  21. 21

    既存の変数を使用してデータフレームに新しい列を追加する

  22. 22

    Java API と JavaRDD<Row> を使用して Spark SQL のデータフレームに新しい列を追加する

  23. 23

    異なる長さのリストを新しい列としてデータフレームに追加する

  24. 24

    データフレーム内の値を検索し、新しい列にエクスポートします

  25. 25

    単語をパンダデータフレームの新しい列にトークン化する

  26. 26

    別のデータフレームに基づいてパンダに新しい列を作成する

  27. 27

    既存のデータフレームに新しい列としてベクトルを追加する

  28. 28

    2番目のルックアップデータフレームのx、yインデックス番号を使用して、データフレームに新しい列を作成するにはどうすればよいですか?

  29. 29

    R-既存の列と一致する値のインデックスに基づいて新しい列データフレームを作成します

ホットタグ

アーカイブ