私は次の形式でパンダシリーズ(名前はDF)があります。パンダシリーズextractallエラー
col1
a GEOS 13100
b MATH 13100-MATH 13200
c MATH 19100-19200
d SPAN 10300 or 20300
e EGPT 10101-10102-10103
f MOGK 10100/30100
g PHSC 12600 must be taken before PHSC 12620
を私はすべてのコース(「[AZ] {4} \ sのを抽出したい* \ dの{5} "または" \ d {5} ")をcol1から取得します。所望のデータセットは、次の形式になります。
col1 col2 col3 col4 col5
a GEOS 13100
b MATH 13100 - MATH 13200
c MATH 19100 - 19200
d SPAN 10300 or 20300
e EGPT 10101 - 10102 - 10103
f MOGK 10100 / 30100
g PHSC 12600 PHSC 12620
Iは
df.col1.str.extract('(([A-Z]{4}\s*\d{5}?)|(\d{5}?)).*?(and|\-|or|\, or|\:|\/|\.|\;|\(|\s?)')
を試み、最初に一致したパターンを得ました。
私は
df.col1.str.extractall('(([A-Z]{4}\s*\d{5}?)|(\d{5}?)).*?(and|\-|or|\, or|\:|\/|\.|\;|\(|\s?)')
を試みたが、次のエラーを得た:
Length of names must match number of levels in MultiIndex.
誰もが、私が何をすべきか任意のアイデアを持って?
ご希望のデータセットを投稿することができますか? – MaxU
私はそれを投稿しました。ありがとうございました! @マックス – Claudia