繁体   English   中英

python pandas,从现有列创建一个新列,从字符串中取出x个字符

[英]python pandas , create a new column from an existing column , take the x n umber of characters from a string

我有一个数据框:

项目


自行车店 - 伦敦

汽车经销商 - 纽约

机场 - 柏林

我想向数据框添加 2 个新列:业务和位置。

我可以使用以下命令找到“-”在字符串中的位置:df['separator'] = df['Project'].str.find('-')

将 2 个新字段放入数据框中的最佳和最干净的方法是什么? 即,项目类型和位置

项目项目类型位置


The Bike Shop - 伦敦 The Bike Shop London

汽车经销商 - 纽约汽车经销商纽约

机场 - 柏林机场柏林

提前致谢 :)

如果您的数据以“-”分隔,则可以一次将其拆分为多列

new_df = df['new_values'].str.split('\n',expand=True)

这里很好地描述了如何将列分成其他列http://datalytics.ru/all/kak-v-pandas-razbit-kolonku-na-neskolko-kolonok/

如果我理解正确,您当前的数据框如下所示:

在此处输入图片说明

你希望它看起来像这样:

在此处输入图片说明

如果这就是您要查找的内容,则可以使用列表理解:

df['ProjectType'] = [project.split(' - ')[0] for project in df['Project']]
df['Location'] = [project.split(' - ')[1] for project in df['Project']]
del df['Project'] # If you want to remove the original column

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM