区切り文字の複数の列をパンダデータフレームの行に分割する

私。

ここに示すように、パンダのデータフレームがあります。

id    pos      value                sent
1     a/b/c    test/test2/test3     21
2     d/a      test/test5           21

データフレームが次のようになるように分割(=展開)したいdf['pos']df['token']思います。

id      pos          value         sent
1       a            test          21
1       b            test2         21 
1       c            test3         21 
2       d            test          21
2       a            test5         21

各列を分割してからそれらを連結すると機能しません

pos = df.token.str.split('/', expand=True).stack().str.strip().reset_index(level=1, drop=True)

df1 = pd.concat([pos,value], axis=1, keys=['pos','value'])

何か案は?本当にありがたいです。

編集:

私はここでこのソリューションを使用してみました:https//stackoverflow.com/a/40449726/4219498

しかし、次のエラーが発生します。 TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'

これがどのように発生するかはわかりませんが、これは厄介な問題だと思います。Python2.7.14を使用しています

jpp

私はstack、新しいデータフレームを最初から構築することを支持して魔法を避ける傾向があります。これは通常、より効率的です。以下は1つの方法です。

import numpy as np
from itertools import chain

lens = list(map(len, df['pos'].str.split('/')))

res = pd.DataFrame({'id': np.repeat(df['id'], lens),
                    'pos': list(chain.from_iterable(df['pos'].str.split('/'))),
                    'value': list(chain.from_iterable(df['value'].str.split('/'))),
                    'sent': np.repeat(df['sent'], lens)})

print(res)

   id pos  sent  value
0   1   a    21   test
0   1   b    21  test2
0   1   c    21  test3
1   2   d    21   test
1   2   a    21  test5

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パンダデータフレームの複数の列を区切り文字で分割する

分類Dev

パンダのデータフレーム行をコンマ区切りの文字列に変換する方法

分類Dev

Daskデータフレーム-区切り文字に基づいて列を複数の行に分割します

分類Dev

パンダデータフレーム - 複数の列に分割する文字列

分類Dev

パンダのデータフレーム表示に列の区切り文字を追加する方法

分類Dev

Pandasデータフレームの区切り文字で列を不明な数の列に分割する

分類Dev

複数の区切り文字に基づいてパンダデータフレームの列のテキストを分割し、それぞれに新しい行を作成したいと思います

分類Dev

区切り文字を使用して、データフレーム内の列を複数の列(異なる長さ)に分割します

分類Dev

パンダのデータフレームで特定の名前の列を複数の列に分割する

分類Dev

データフレーム文字列列をパターンなしで複数の列に分割する

分類Dev

カンマ区切りのデータと改行文字を含む文字列をパンダデータフレームに変換する

分類Dev

複数の型破りな区切り文字を含むファイルからパンダデータフレームを作成する

分類Dev

パンダ:データフレームの列を別々の行に分割する

分類Dev

PySparkのハイフン区切り文字でデータフレーム列を分割する

分類Dev

パンダのデータフレームでセルを複数の行に分割する

分類Dev

パンダのデータフレーム文字列を個別の行に分割する

分類Dev

パンダのデータフレーム列を複数に分割し、繰り返し処理します

分類Dev

区切り文字付きの文字列を見つけて、パンダデータフレームPythonで新しい行に置き換える方法

分類Dev

パンダの複数の区切り文字で1つの列を複数の列に分割する

分類Dev

パンダデータフレーム:列を複数の列に分割

分類Dev

複数の値を持つパンダデータフレーム列文字列を別々の行に分割します

分類Dev

パンダデータフレームのすべての列を反復処理して、区切り文字で分割します

分類Dev

csvファイルを複数の列でパンダデータフレームに分割する

分類Dev

パンダ-カンマ区切り行の各文字列がデータフレーム内に存在する頻度

分類Dev

複数の区切り文字を含むファイルをデータフレームに変換する方法

分類Dev

パンダのデータフレームで複数の列を文字列に変換する

分類Dev

パンダのデータフレームに複数の列を追加する

分類Dev

Pythonのデータフレームでコンマ区切りの文字列で数値を検索する

分類Dev

Pythonでパンダのデータフレームをタブ区切りのリストに変換する

Related 関連記事

  1. 1

    パンダデータフレームの複数の列を区切り文字で分割する

  2. 2

    パンダのデータフレーム行をコンマ区切りの文字列に変換する方法

  3. 3

    Daskデータフレーム-区切り文字に基づいて列を複数の行に分割します

  4. 4

    パンダデータフレーム - 複数の列に分割する文字列

  5. 5

    パンダのデータフレーム表示に列の区切り文字を追加する方法

  6. 6

    Pandasデータフレームの区切り文字で列を不明な数の列に分割する

  7. 7

    複数の区切り文字に基づいてパンダデータフレームの列のテキストを分割し、それぞれに新しい行を作成したいと思います

  8. 8

    区切り文字を使用して、データフレーム内の列を複数の列(異なる長さ)に分割します

  9. 9

    パンダのデータフレームで特定の名前の列を複数の列に分割する

  10. 10

    データフレーム文字列列をパターンなしで複数の列に分割する

  11. 11

    カンマ区切りのデータと改行文字を含む文字列をパンダデータフレームに変換する

  12. 12

    複数の型破りな区切り文字を含むファイルからパンダデータフレームを作成する

  13. 13

    パンダ:データフレームの列を別々の行に分割する

  14. 14

    PySparkのハイフン区切り文字でデータフレーム列を分割する

  15. 15

    パンダのデータフレームでセルを複数の行に分割する

  16. 16

    パンダのデータフレーム文字列を個別の行に分割する

  17. 17

    パンダのデータフレーム列を複数に分割し、繰り返し処理します

  18. 18

    区切り文字付きの文字列を見つけて、パンダデータフレームPythonで新しい行に置き換える方法

  19. 19

    パンダの複数の区切り文字で1つの列を複数の列に分割する

  20. 20

    パンダデータフレーム:列を複数の列に分割

  21. 21

    複数の値を持つパンダデータフレーム列文字列を別々の行に分割します

  22. 22

    パンダデータフレームのすべての列を反復処理して、区切り文字で分割します

  23. 23

    csvファイルを複数の列でパンダデータフレームに分割する

  24. 24

    パンダ-カンマ区切り行の各文字列がデータフレーム内に存在する頻度

  25. 25

    複数の区切り文字を含むファイルをデータフレームに変換する方法

  26. 26

    パンダのデータフレームで複数の列を文字列に変換する

  27. 27

    パンダのデータフレームに複数の列を追加する

  28. 28

    Pythonのデータフレームでコンマ区切りの文字列で数値を検索する

  29. 29

    Pythonでパンダのデータフレームをタブ区切りのリストに変換する

ホットタグ

アーカイブ