我有一个 datadrame,它看起来像:
A B
0 2.0 'C=4;D=5;'
1 2.0 'C=4;D=5;'
2 2.0 'C=4;D=5;'
Run Code Online (Sandbox Code Playgroud)
我可以解析 B 列中的字符串,假设使用函数名称parse_col(),将其解析为如下所示的 dict:
{C: 4, D: 5}
Run Code Online (Sandbox Code Playgroud)
如何将 2 个额外的列添加到数据框中,使其看起来像这样:
A B C D
0 2.0 'C=4;D=5;' 4 5
1 2.0 'C=4;D=5;' 4 5
2 2.0 'C=4;D=5;' 4 5
Run Code Online (Sandbox Code Playgroud)
我只能取特定的列,解析它并添加它,但这显然不是最好的方法。
我还尝试在pandas 应用文档中使用示例的变体,但我没有设法使其仅在特定列上工作。
我们可以使用Series.str.extractall然后将其链接unstack到将行转为列:
df[['C', 'D']] = df['B'].str.extractall('(\d+)').unstack()
A B C D
0 2.0 'C=4;D=5;' 4 5
1 2.0 'C=4;D=5;' 4 5
2 2.0 'C=4;D=5;' 4 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |