将pandas dataframe列(分为两列)在th中的第一个字母之后

2024-10-04 19:20:10 发布

您现在位置:Python中文网/ 问答频道 /正文

问题

我想在下面的每一列中用一个新的字母“我想用一个新的字母“我想在下面的每一列中用一个新的字母‘我想在每一列后面用一个新的字母‘我想把‘pandas’一列拆分成一个新的字母‘我想在下面的列中看到一个新的字母‘pandas’(我想在这个列后面用大写字母‘pandas’来分隔列)。在

当前代码:

import pandas as pd

df = 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)

输入数据示例

^{pr2}$

期望输出示例

+-----------------------------+-------+-----+-----------+------------+--------------------------------------------------------------------------------------------+
|           Species           |  ID   | OGT |    DB     | Amino Acid |                                         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  |
+-----------------------------+-------+-----+-----------+------------+--------------------------------------------------------------------------------------------+

Tags: csvinpandasdfis字母gcfpercentage
2条回答

使用^{}作为第一个空白:

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

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

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

相关问题 更多 >

    热门问题