我有一只熊猫数据图,它看起来像这样:
Name A B
'X' 'cde: 2.00 GB ghi: 4.00 GB ab-6: 9.00 GB' 'abc'
'Y' 'cde: 1.00 GB ghi: 6.00 GB ab-6: 12.00 GB' 'abc'我想要得到的是一种新的熊猫数据格式,其中A列被分成多个列,Name和B列没有修改。新的dataframe应该是这样的:
Name A_cde A_ghi A_ab-6 B
'X' 2.00 GB 4.00 GB 9.00 GB 'abc'
'Y' 1.00 GB 6.00 GB 12.00 GB 'abc'这意味着,我想在:之前和GB之后分割'A‘列。:之前的所有内容都应该是新列的后缀。在:之后和GB之后的所有内容都应该包含为列值,而在GB之后,新列应该开始。
我怎么能这么做?我想我可以在这个问题上使用正则表达式。
发布于 2021-03-30 14:33:47
tmp = df.A.str.extract(
r"cde: (?P<A_cde>.*) ghi: (?P<A_ghi>.*) ab-6: (?P<A_ab_6>.*)"
)
df_out = pd.concat([df["Name"], tmp, df["B"]], axis=1)
print(df_out)指纹:
Name A_cde A_ghi A_ab_6 B
0 X 2.00 GB 4.00 GB 9.00 GB abc
1 Y 1.00 GB 6.00 GB 12.00 GB abchttps://stackoverflow.com/questions/66872640
复制相似问题