如何分离字符串和添加到行数据框架?



我试图使用正则表达式和熊猫函数,但我不能这df使喜欢下面的表我怎样才能做到这一点?

df=pd.DataFrame({'a':['COD21C0521/534/583/584','COD21C0540_1/587_1/588_1']},index=['AAA','BBB']) 
<表类>tbody><<tr>3COD21C05213COD21C05343COD21C05833COD21C0584BBBCOD21C0540_1BBBCOD21C0587_1BBBCOD21C0588_1

使用str[:](索引),str.splitexplode方法的组合:

import pandas as pd
df = pd.DataFrame(
{'a':['COD21C0521/534/583/584','COD21C0540_1/587_1/588_1']},
index=['AAA','BBB']) 
s = df['a'].str[:7] + df['a'].str[7:].str.split('/').explode()
print(s)

收益率

AAA      COD21C0521
AAA      COD21C0534
AAA      COD21C0583
AAA      COD21C0584
BBB    COD21C0540_1
BBB    COD21C0587_1
BBB    COD21C0588_1
Name: a, dtype: object

请注意,您不能将结果分配回数据框(df['a'] = ...),因为原始数据框中只有两行,而输出中只有七行。因此sfor Series.

最新更新