Python
 Computer >> コンピューター >  >> プログラミング >> Python

区切り文字に基づいて文字列を分割し、シリーズに変換するPython関数を記述します


’'区切り文字で文字列を分割し、次のようにシリーズに変換した結果

0    apple
1    orange
2    mango
3    kiwi

これを解決するために、以下のアプローチに従います-

ソリューション1

  • 2つの引数stringとdelimiterを受け入れる関数split_str()を定義します

  • 区切り文字の値の中にs.split()関数を作成し、split_dataとして保存します

split_data = s.split(d)
  • pd.Series()内にsplit_dataを適用して、系列データを生成します。

pd.Series(split_data)
  • 最後に、関数を呼び出して結果を返します。

理解を深めるために、次のコードを確認してみましょう-

import pandas as pd
def split_str(s,d):
   split_data = s.split(d)
   print(pd.Series(split_data))
split_str('apple\torange\tmango\tkiwi','\t')

出力

0    apple
1    orange
2    mango
3    kiwi
dtype: object

ソリューション2

  • 文字列を定義し、それをデータ変数に割り当てます

data = 'apple\torange\tmango\tkiwi'
  • 区切り文字を設定=’

  • ラムダ関数を作成し、2つの変数xを文字列として設定し、yを区切り文字として設定し、式をx.split(y)として設定し、split_dataとして保存します

split_data = lambda x,y: x.split(y)
  • データと区切り文字の値を使用して関数を呼び出し、結果リストとして保存します

result = split_data(data,delimiter)
  • 結果リストを次のように系列に変換します

pd.Series(result)

理解を深めるために、次のコードを確認してみましょう-

import pandas as pd
data = 'apple\torange\tmango\tkiwi'
delimiter = '\t'
split_data = lambda x,y: x.split(y)
result = split_data(data,delimiter)
print(pd.Series(result))

出力

0    apple
1    orange
2    mango
3    kiwi
dtype: object

  1. Pythonで区切り文字strによって文字列を分割する方法は?

    PythonのStringクラスには、オプションの引数として区切り文字を受け取るsplit()というメソッドがあります。デフォルトの区切り文字は空白です。次のように使用できます: >>> 'aa-ab-ca'.split('-') ['aa', 'ab', 'ca'] >>> 'abc mno rst'.split(' ') ['abc', 'mno', 'rst'] この操作に正規表現を使用するこ

  2. キャメルケースをスネークケースに変換するPython関数を書き留めますか?

    キャメルケースをスネークケースに変換するためのコードを以下に示します import re def convert(name):       s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)       return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower() print convert('JavaBeans') print convert('Jav