我试图使用正则表达式和熊猫函数,但我不能这df使喜欢下面的表我怎样才能做到这一点?
df=pd.DataFrame({'a':['COD21C0521/534/583/584','COD21C0540_1/587_1/588_1']},index=['AAA','BBB'])
<表类> tbody><<tr>3 COD21C0521 3 COD21C0534 3 COD21C0583 3 COD21C0584 BBBCOD21C0540_1 BBBCOD21C0587_1 BBBCOD21C0588_1 表类>
使用str[:]
(索引),str.split
和explode
方法的组合:
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'] = ...
),因为原始数据框中只有两行,而输出中只有七行。因此s
for Series.