为了账号安全,请及时绑定邮箱和手机立即绑定

在单元格中的第一个字母之后将pandas dataframe列拆分为两列

在单元格中的第一个字母之后将pandas dataframe列拆分为两列

慕的地8271018 2021-03-29 13:15:05
问题我想将pandas数据框的一列分为2列,在percent列中(请参见下文),每个条目都以大写字母字符开头,我想在此字母后立即将'Percentage'列拆分为新列标记为“氨基酸”。当前代码:import pandas as pddf = pd.read_csv('foo.csv')df['Amino Acid'], df['Percentage'] = zip(*df['Percentage'].map(lambda x: x.split('[^a-zA-Z]')))df.to_csv('bar.csv',index=False)输入数据示例+-----------------------------+-------+-----+-----------+---------------------------------------------------------------------------------------------+|           Species           |  ID   | OGT |    DB     |                                         Percentage                                          |+-----------------------------+-------+-----+-----------+---------------------------------------------------------------------------------------------+| Halogeometricum borinquense | 60847 |  37 | ATCC/DSMZ | E is 8.333003365670164% in ./archaea/GCF_000337855.1/GCF_000337855.1_ASM33785v1_protein.faa || Halogeometricum borinquense | 60847 |  37 | ATCC/DSMZ | R is 6.310991522830762% in ./archaea/GCF_000337855.1/GCF_000337855.1_ASM33785v1_protein.faa || Halogeometricum borinquense | 60847 |  37 | ATCC/DSMZ | A is 10.22668778459711% in ./archaea/GCF_000337855.1/GCF_000337855.1_ASM33785v1_protein.faa |+-----------------------------+-------+-----+-----------+---------------------------------------------------------------------------------------------+
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

用作split第一个空格:

df[['Amino Acid', 'Percentage']] = df['Percentage'].str.split(n=1, expand=True)


查看完整回答
反对 回复 2021-04-27
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

您可以直接提取第一个字母:

df['Amino Acid'] = df['Percentage'].str[0]
df['Percentage'] = df['Percentage'].str[1:]


查看完整回答
反对 回复 2021-04-27
  • 2 回答
  • 0 关注
  • 320 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号