Python 根据字符数拆分字符串列

Python 根据字符数拆分字符串列,python,pandas,Python,Pandas,我在数据框中有以下列: columnA EUR590 USD680 EUR10000,9 USD40 如何根据数据框的前三个字符进行拆分: columnA columnB 590 EUR 680 USD 10000,9 EUR 40 USD 另一种方法是与模式一起使用: df1=df.columnA.str.extract('(?P<columnA>.{3})(?P<columnB>.{1,})') print(df1) 正则表达式图表

我在数据框中有以下列:

columnA
EUR590
USD680
EUR10000,9
USD40
如何根据数据框的前三个字符进行拆分:

columnA columnB
590     EUR
680     USD
10000,9  EUR
40       USD

另一种方法是与模式一起使用:

df1=df.columnA.str.extract('(?P<columnA>.{3})(?P<columnB>.{1,})')
print(df1)
正则表达式图表如下:


部分正确,columnA看起来仍然像原始column这只适用于具有一列的数据帧,还是?如果我的数据帧中有其他列(应该是未触及的列),该怎么办?@PV8你的意思是你也希望对其他列执行此操作吗?你能用其他列更新示例吗?你希望如何进行拆分。。这里有点混乱。如果我运行命令df1=..``我将只有一个包含columnA和columnB的数据帧,但是我的原始数据帧包含columnC和更多…@PV8:在这种情况下,你可以使用
df.pop('columnA').str.extract('(?P.{3})(?P.{1,})))。join(df)
这将从df中删除columnA并为你提供2列df,您可以将其连接回原始df。
df1=df.columnA.str.extract('(?P<columnA>.{3})(?P<columnB>.{1,})')
print(df1)
  columnA  columnB
0     EUR      590
1     USD      680
2     EUR  10000,9
3     USD       40