如果子字符串在列表中,则使用来自另一个 Pandas 列的子字符串创建新列

菲利波·塞巴斯蒂奥

如果值在另一列中,我需要从列表中的值创建一个新列 - 请参见下面的示例:

state_us = ['Ohio', 'California']
fake_df = pd.DataFrame(np.array(['Route 66, Ohio, US', 'California US']), columns = ['Address'])
#               Address
# 0  Route 66, Ohio, US
# 1       California US

results_df = pd.DataFrame({'Address': ['Route 66, Ohio, US', 'California US'], 'State': ['Ohio', 'California']})
#               Address       State
# 0  Route 66, Ohio, US        Ohio
# 1       California US  California

这是我不太成功的尝试

fake_df['State'] = fake_df['Address'].apply(lambda x: element for element in state_us if element in x else np.nan)
tdy

用于str.extract从地址中提取状态模式:

pattern = '|'.join(state_us)
fake_df['State'] = fake_df['Address'].str.extract(rf'({pattern})')

#               Address       State
# 0  Route 66, Ohio, US        Ohio
# 1       California US  California

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从列表中的子字符串创建新的 pandas 列

如果列表中的字符串与另一列中的匹配,则创建一个 Pandas 列

用来自另一个数据框中的字符串匹配的平均值列向pandas数据框附加

根据JSON中的字符串匹配创建一个新的Pandas列

pandas:根据另一个cloumn中字符串的len创建一列逗号分隔值

Pandas - 使用来自另一列的字符串的初始附加重复项

Pandas - 使用来自另一列的字符串的初始附加重复项

如果使用pandas与另一列的字符串匹配,如何删除列的子字符串?

Pandas:选择与字符串匹配的行并用该词创建一个新列

pandas-如果列标题是另一列的子字符串,则创建true / false列

从一列pandas python中的字符串切片创建新列

使用随机字符串值在 Pandas 中插入一个新列

Python Pandas将列中的子字符串替换为另一列中的子字符串

Pandas:如果来自第三列的字符串值,则根据另一列的值创建列

Pandas 通过从另一个数据帧的 1 列中的单元格检查列表中返回匹配字符串的行来创建新的数据帧

在单个Pandas Dataframe列中将字符串与数字分开,并创建两个新列

通过在 Pandas 的另一列中拆分字符串来创建新的数据框列

如果列表包含另一个子列表的任何字符串,则在熊猫中创建新列

创建带有新日期索引和带有标题子字符串的新列的Pandas DataFrame?

Python Pandas - 检查子字符串包含并将新列设置为子字符串

检查 Pandas 列中的字符串切片字符是否包含另一个字符串

如果选定列名的子字符串与 Pandas 中一列内容的子字符串相同,则填充列

Pandas:确定一列中的字符串是否是另一列中字符串的子字符串

如何用Python Pandas中的另一个替换数据框列中的字符串?

从pandas DataFrame中的文本中提取子字符串作为新列

使用另一列中的字符串比较和更新pandas dataframe列列表

在pandas数据框中使用单引号和另一个列构建字符串

分组并通过在Pandas中随机分配多个字符串来创建新列

如何基于python pandas中不同行的字符串形式创建新列