python - 在 DataFrame 的开头而不是末尾附加子字符串

标签 python python-3.x pandas

我想从Name中提取一个子字符串,并将其添加到Address前面,但是cat 默认情况下将其添加到末尾

我的数据:

Name                              | Address
Eleanor A. Martin #/222  Rhapsody | Street 32601 Florida
Ann K. Wagner                     | 3071 Half and Half Drive Hialeah FL 33012

我的代码:

df = pd.DataFrame([['Eleanor A. Martin #/222  Rhapsody ','Street 32601 Florida'],['Ann K. Wagner','3071 Half and Half Drive Hialeah FL 33012']],columns=['Name','Address'])   

df['Address'] = df['Address'].str.cat(df['Name'].str.extract(r'#/(.*)'), sep=' ', na_rep = '').str.strip()

当前结果:

Name                              | Address
Eleanor A. Martin #/222  Rhapsody | Street 32601 Florida 222  Rhapsody
Ann K. Wagner                     | 3071 Half and Half Drive Hialeah FL 33012

期望的结果:

Name                              | Address
Eleanor A. Martin #/222  Rhapsody | 222  Rhapsody Street 32601 Florida
Ann K. Wagner                     | 3071 Half and Half Drive Hialeah FL 33012

这在我的集合中不起作用(弄乱了不同的行)

df['Address'] = df['Name'].str.extract(r'#/(.*)') + " " + df['Address']

如何将 Name 中的子字符串添加到 Address 中的字符串前面?

最佳答案

首先为 Series.str.extract 中的 Series 添加参数 expand=False ,添加分隔符并将缺失值替换为空字符串,最后添加第二列:

df['Address'] = (df['Name'].str.extract(r'#/(.*)', expand=False).add(" ").fillna('') + 
                 df['Address'])

替代方案:

df['Address'] = ((df['Name'].str.extract(r'#/(.*)', expand=False) + " ").fillna('') + 
                 df['Address'])
<小时/>
print (df)

                                 Name  \
0  Eleanor A. Martin #/222  Rhapsody    
1                       Ann K. Wagner   

                                     Address  
0        222  Rhapsody  Street 32601 Florida  
1  3071 Half and Half Drive Hialeah FL 33012  

关于python - 在 DataFrame 的开头而不是末尾附加子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55607272/

相关文章:

Python:在井字游戏板上随机选择一个点

python - 有效地调整批量 np.array 图像的大小

python - 如何在 Python 中跳过前几行 Excel 工作表

python - Mavericks 之后 Pandas 找不到 dateutil.parser

python - 将 pandas DataFrame 的每一行转换为嵌套的 JSON 对象

python - 类型注释 Pandas DataFrame

python - ProgrammingError at "url"关系 "app_model"不存在 LINE 1 : SELECT COUNT(*) AS "__count" FROM "app_model"

python:在单元测试中测试特定功能?

python - 凯拉斯错误 :The model cannot be compiled because it has no loss to optimize

python - 使用 pd.Grouper() 获取第一个和最后一个元素