【发布时间】:2016-05-03 03:12:24
【问题描述】:
我正在尝试遍历数据框中的列,如果它包含字典中的值,则使用循环列中的子字符串创建一个新列。更具体地说,如果地址列中的单个行包含州名称和缩写字典中的州,则将州缩写附加到将成为新列的列表中。
以下代码适用于完全匹配,但不扫描行中的子字符串:
import pandas as pd
df = pd.DataFrame((['Austin, Texas',
'Texas',
'Seattle, Washington',
',,, Texas',
'Olympia, WA']), columns = ['Place'])
states = {'Texas': 'TX',
'Washington': 'WA'}
place = df['Place']
results = []
for x in place:
if x in states:
results.append(x)
else:
results.append(None)
df['State'] = results
df
谢谢!
【问题讨论】:
标签: python loops pandas dataframe substring