![](/img/trans.png)
[英]Convert an Object dtype column to Number Dtype in a datafrane Pandas
[英]Splitting an object dtype column in pandas
我的 DF 看起來像有多個定界符 (, =) 以及 int 和 str 的組合。
DF 類型為 object(未轉換為字符串)
列單元格中的信息包含此信息
Network=115,MEID=115,Function=115,Area=1806
我想使用分隔符“=”拆分它以獲取區域信息。 有沒有辦法做到這一點
我的 DF 看起來有多個分隔符 (, = ) 以及 int 和 str 的組合。
DF 類型是 object (不轉換為字符串)
列單元格中的信息包含此信息
Network=115,MEID=115,Function=115,Area=1806
我想使用分隔符“=”拆分它以獲取區域信息。 有沒有辦法做到這一點
為了使Area=xxxx
可以在單元格中的任何位置通用,我們可以將str.extract()
與 regex(正則表達式)一起使用,如下所示:
df['Area'] = df['Col1'].str.extract(r'Area=(?P<Area>[^,=]*)')
測試數據構建:
data = {'Col1': ['Network=115,MEID=115,Function=115,Area=1806', 'Network=120,MEID=116,Area=1820,Function=116']}
df = pd.DataFrame(data)
print(df)
Col1
0 Network=115,MEID=115,Function=115,Area=1806
1 Network=120,MEID=116,Area=1820,Function=116
運行新代碼
df['Area'] = df['Col1'].str.extract(r'Area=(?P<Area>[^,=]*)')
print(df)
Col1 Area
0 Network=115,MEID=115,Function=115,Area=1806 1806
1 Network=120,MEID=116,Area=1820,Function=116 1820
正則表達式解釋:
Area=
來匹配參數Area=
字面意思
(?P<Area>
將正則表達式捕獲組命名為Area
[^,=]*
0 次或多次出現字符 class [^,=]
匹配不等於,
或=
的字符
)
命名捕獲組的結尾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.