関数データフレーム列を適用します

シャンタンオ

4列目にASCII値が含まれているデータフレームがあります。

mydict=[('1385145553847005',
  '54',
  'NPAVIN',
  '9175042231172',
  '[89,111,117,114,32,78,80,65,86,32,79,110]',
  '20131123000914',
  'NA',
  'NA',
  '0',
  '0',
  'NA',
  'undefined',
  'a4d05539-cd61-43ee-a870-702e20caeaff',
  '0',
  '0',
  '0'),
('1385145553847006',
  '55',
  'NPAVIN1',
  '9175042231171',
  '[78,80,65,86,32,79,110]',
  '20131123000915',
  'NA',
  'NA',
  '0',
  '0',
  'NA',
  'undefined',
  'a4d05539-cd61-43ee-a870-702e20caeaff',
  '0',
  '0',
  '0')
] 

import pandas as pd
df = pd.DataFrame(mydict)

4列目に適用する必要のある関数を作成しました。

def get_ascii(amyl):
    mys=''
    for item in amyl:
        mys= mys+(chr(int(item)))
    return mys

これは動作しません。値を取得しますエラー:

df.apply(get_ascii(df[4]))

期待される結果:次の2つの値をデータフレームの最後の列に追加する必要があります。

'Your NPAV On'
'NPAV On'
EdChum

ここにはいくつかの問題があります。値は値のリストのリテラル文字列です。

In [295]:

df[4]
Out[295]:
0    [89,111,117,114,32,78,80,65,86,32,79,110]
1                      [78,80,65,86,32,79,110]
Name: 4, dtype: object

これが意図されているかどうかはわかりませんが、これをリストに変換する必要があります。

次に、関数はシリーズ全体で機能していますが、一度に1つの行の値を期待しているため、一度に1つの行を処理する場合は、passparamを渡す必要がありaxis=1ます。

とにかく、以下は、渡されたシリーズを評価し、そのシリーズの唯一の要素値にアクセスし、リストとして評価してから音訳を実行することによって機能します。

In [294]:

import ast
def get_ascii(amyl):
    l = ast.literal_eval(amyl.values[0])
    mys=''
    for item in l:
        mys= mys+(chr(item))           
    return mys
df[[4]].apply(get_ascii, axis=1)
Out[294]:
0    Your NPAV On
1         NPAV On
dtype: object

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

pandasデータフレームの各列に関数を適用します

分類Dev

データフレーム列に関数を適用しますか?

分類Dev

列の数に関係なく、データフレームに行ごとに関数を適用します

分類Dev

因子でデータフレームを分割し、関数を適用します

分類Dev

pandasデータフレームに関数を適用して新しい列を追加しますか?

分類Dev

データフレームの列に関数を適用します(列はリストです)

分類Dev

データフレームの列に関数を適用します(列はリストです)

分類Dev

データフレーム列に関数を適用すると、scalaがスパークします

分類Dev

パンダは複数の列のデータフレームに関数を適用します

分類Dev

データフレームのリストの列に関数を適用し、結果を追加します

分類Dev

Pythonの適用関数を使用して列をデータフレームに追加しますか?

分類Dev

データフレーム内の特定の列を操作する関数を適用します

分類Dev

Pythonデータフレームは、列ごとにグループごとに関数を適用します

分類Dev

pandasデータフレームで選択した特定の列に関数を適用します

分類Dev

パンダのデータフレームのすべての列に関数を適用します

分類Dev

別のデータフレームの列に関数を適用して、新しいデータフレームを作成します

分類Dev

Pysparkデータフレームは、2つの列に関数を適用します

分類Dev

pandasデータフレームgroupbyの2番目の列に関数を適用します

分類Dev

データフレームのリストの特定の列に関数を適用します

分類Dev

データフレーム列に関数をどのように適用しますか

分類Dev

リスト内のデータフレームの列にいくつかの関数を適用します

分類Dev

パンダデータフレームの単一列に関数を適用します

分類Dev

データフレームの列の各要素に関数を適用します

分類Dev

パンダデータフレームの列に関数を適用します

分類Dev

パンダのデータフレームは列全体に関数を適用します

分類Dev

結果を元のデータフレームに保存しながら、データフレームの一部の列に関数を適用します

分類Dev

データフレームの複数の列に関数を適用する

分類Dev

前の行のデータを参照するデータフレーム行に関数を適用します

分類Dev

ファミリ関数の適用を使用して、他の複数の列を操作して複数のデータフレーム列を作成します

Related 関連記事

  1. 1

    pandasデータフレームの各列に関数を適用します

  2. 2

    データフレーム列に関数を適用しますか?

  3. 3

    列の数に関係なく、データフレームに行ごとに関数を適用します

  4. 4

    因子でデータフレームを分割し、関数を適用します

  5. 5

    pandasデータフレームに関数を適用して新しい列を追加しますか?

  6. 6

    データフレームの列に関数を適用します(列はリストです)

  7. 7

    データフレームの列に関数を適用します(列はリストです)

  8. 8

    データフレーム列に関数を適用すると、scalaがスパークします

  9. 9

    パンダは複数の列のデータフレームに関数を適用します

  10. 10

    データフレームのリストの列に関数を適用し、結果を追加します

  11. 11

    Pythonの適用関数を使用して列をデータフレームに追加しますか?

  12. 12

    データフレーム内の特定の列を操作する関数を適用します

  13. 13

    Pythonデータフレームは、列ごとにグループごとに関数を適用します

  14. 14

    pandasデータフレームで選択した特定の列に関数を適用します

  15. 15

    パンダのデータフレームのすべての列に関数を適用します

  16. 16

    別のデータフレームの列に関数を適用して、新しいデータフレームを作成します

  17. 17

    Pysparkデータフレームは、2つの列に関数を適用します

  18. 18

    pandasデータフレームgroupbyの2番目の列に関数を適用します

  19. 19

    データフレームのリストの特定の列に関数を適用します

  20. 20

    データフレーム列に関数をどのように適用しますか

  21. 21

    リスト内のデータフレームの列にいくつかの関数を適用します

  22. 22

    パンダデータフレームの単一列に関数を適用します

  23. 23

    データフレームの列の各要素に関数を適用します

  24. 24

    パンダデータフレームの列に関数を適用します

  25. 25

    パンダのデータフレームは列全体に関数を適用します

  26. 26

    結果を元のデータフレームに保存しながら、データフレームの一部の列に関数を適用します

  27. 27

    データフレームの複数の列に関数を適用する

  28. 28

    前の行のデータを参照するデータフレーム行に関数を適用します

  29. 29

    ファミリ関数の適用を使用して、他の複数の列を操作して複数のデータフレーム列を作成します

ホットタグ

アーカイブ