簡體   English   中英

如何通過從另一列中的句子中提取單詞來在 pandas 數據框中創建一個新列?

[英]How can I create a new column in a pandas data frame by extracting words from sentences in another column?

我有一個這樣的 pandas dataframe。

import pandas as pd
student_id = ['001', '002', '003', '004']
names = ['Jane', 'Mary', 'Andrew', 
'Paul']
address = ['7 karumu st Ikeja Lagos', '8 
logo street Umuahia Abia', 
       '10 jege close PH Rivers', '9 
Lekki gate Lagos']

test_1 = {'Student_ID': student_id, 
      'Name': names, 
      'Address': address}
df = pd.DataFrame(test_1)
df`

Output

和這樣的列表:

List = [Imo, Lagos, Abia, Ebonyi, Rivers]

所以我試圖遍歷地址列並提取地址中的狀態,該地址也在列表中。 如果發現列表中的 state,我想將它和 append 提取到名為 state 的新列中。

我嘗試使用 iterrows() 方法,但我有點迷路

您可以像這樣過濾:

df = df[df['Address'].str.contains('|'.join(List))]
  • 獲取“地址”列
  • 轉換為“列表”為 DataFrame
  • 在我認為“MERGE”之后你應該使用
  • 存儲到最后一個 dafaFrame 並將其添加為另一列

我想這會解決你的問題

假設 state 始終是地址中的最后一個字。

import numpy as np

states = ["Imo", "Lagos", "Abia", "Ebonyi", "Rivers"]
df["State"] = df["Address"].map(lambda x: state if (state:=x.split()[-1]) in states else np.nan)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM