我有一个dataframe column
,我想分成3个单独的列。
o_order_df
expiry
0 27-Sep-2018-260-CE
1 27-Sep-2018-250-CE
o_order_df[['expiry','strike','type']] = o_order_df['expiry'].str.split('-', n>=2, expand=True)
我想在
split
第三次出现时column
-
。我不断收到错误消息:
追溯(最近一次通话):
文件“”,第1行,位于
NameError:名称“ n”未定义
预期产量
o_order_df
expiry strike type
0 27-Sep-2018 260 CE
1 27-Sep-2018 250 CE
我可以用定界符
split
列。TIA
最佳答案
将n=2
与rsplit
一起使用:
o_order_df[['expiry','strike','type']] = o_order_df['expiry'].str.rsplit('-',n=2,expand=True)
如果性能很重要,请使用
rsplit
的列表理解:c = ['expiry','strike','type']
df = pd.DataFrame([x.rsplit('-', 2) for x in o_order_df['expiry']], columns=c)
print (df)
expiry strike type
0 27-Sep-2018 260 CE
1 27-Sep-2018 250 CE
关于python - Pandas 在分隔符的第三个实例之后拆分列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52257025/