[英]Get text between parenthesis of a Column in Pandas DataFrame
我有一個如下所示的數據框
+-----+-------+------------------+--------------------------+
| ID | Name | Designation | Location |
+-----+-------+------------------+--------------------------+
| 101 | John | Technical Lead | United States (New York) |
+-----+-------+------------------+--------------------------+
| 102 | Benny | Sales Manager | India (Delhi) |
+-----+-------+------------------+--------------------------+
| 103 | Vasu | System Admin | Japan (Tokyo) |
+-----+-------+------------------+--------------------------+
| 104 | Dany | Business Analyst | Australia (Melbourne) |
+-----+-------+------------------+--------------------------+
現在我只需要從 Location 中提取城市並保留為單獨的列。
預期輸出
+-----+-------+------------------+--------------------------+-----------+
| ID | Name | Designation | Location | City |
+-----+-------+------------------+--------------------------+-----------+
| 101 | John | Technical Lead | United States (New York) | New York |
+-----+-------+------------------+--------------------------+-----------+
| 102 | Benny | Sales Manager | India (Delhi) | Delhi |
+-----+-------+------------------+--------------------------+-----------+
| 103 | Vasu | System Admin | Japan (Tokyo) | Tokyo |
+-----+-------+------------------+--------------------------+-----------+
| 104 | Dany | Business Analyst | Australia (Melbourne) | Melbourne |
+-----+-------+------------------+--------------------------+-----------+
我已經嘗試了以下但得到錯誤'Series' object has no attribute 'find'
。
import pandas as pd
df = read_excel('myfile.xlsx')
df['city'] = df.apply(lambda st: st[st.find("(")+1:st.find(")")])
使用Series.str.extract
與()
之間的匹配值:
df["city"] = df["Location"].str.extract(r"\((.*?)\)" , expand=False)
print (df)
ID Name Designation Location city
0 101 John Technical Lead United States (New York) New York
1 102 Benny Sales Manager India (Delhi) Delhi
2 103 Vasu System Admin Japan (Tokyo) Tokyo
3 104 Dany Business Analyst Australia (Melbourne) Melbourne
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.