如何通过逗号分隔符将一列分成两列,并将不带逗号的值放在第二列而不是第一列?

问题描述 投票:0回答:2

我在 df 中有一个列,我想将其分成两列,并用逗号分隔符分割。如果该列中的值没有逗号,我想将其放入第二列而不是第一列中。

英格兰 俄罗斯英国伦敦美国加利福尼亚州美国
起源
美国纽约
我想要的结果是:

地点纽约NaN 英格兰 俄罗斯 英格兰 df['Location'], df['Country'] = df['Origin'].str.split(',', 1)
国家
美国
NaN
伦敦
加利福尼亚州 美国
NaN 美国
我用了这个代码

我们可以在这里尝试使用

str.extract

python pandas split multiple-columns
2个回答
2
投票

这是一种使用 

str.extract()
 和命名组的方法

0
投票

df['Origin'].str.extract(r'(?:(.*), )?(\w+)')

输出:

Location Country 0 New York USA 1 NaN England 2 NaN Russia 3 London England 4 California USA 5 NaN USA

	

© www.soinside.com 2019 - 2024. All rights reserved.