更改列以将拆分函数字符串存储在 Pandas 数据框中
Alter column to store the split functioned string in Pandas Dataframe
我做了以下事情:
df[['col1','col2']] = df.col.str.split(',', expand = True)
它适用于类似“a,b”的情况。
如果 col 值是一个没有逗号的字符串,如“a”,上面的行将该字符串带到 col1。但是,如果我想在第二列中使用它,即 col2,是否有任何单行方法可以做到这一点?
注意:只有当它得到一个没有逗号的字符串时,我才想反向处理它。
更多说明:
示例数据框列,
col: "a,b", "a"
预期输出,
row 1-> col1: a, col2: b
row 2-> col1: none, col2: a
提前致谢:))
您应该使用 extract
而不是 split
:
df.col.str.extract(r'(\w*),?(\w+)')
0 1
0 a b
1 a
其中 df = pd.DataFrame({'col':['a,b', 'a']})
请注意,正则表达式可以根据需要进行更改
编辑:
df.col.str.extract(r'^([^,]*),?(\b\w+)')
0 1
0 Uttara Dhaka
1 Faridpur
我做了以下事情:
df[['col1','col2']] = df.col.str.split(',', expand = True)
它适用于类似“a,b”的情况。 如果 col 值是一个没有逗号的字符串,如“a”,上面的行将该字符串带到 col1。但是,如果我想在第二列中使用它,即 col2,是否有任何单行方法可以做到这一点?
注意:只有当它得到一个没有逗号的字符串时,我才想反向处理它。
更多说明: 示例数据框列,
col: "a,b", "a"
预期输出,
row 1-> col1: a, col2: b
row 2-> col1: none, col2: a
提前致谢:))
您应该使用 extract
而不是 split
:
df.col.str.extract(r'(\w*),?(\w+)')
0 1
0 a b
1 a
其中 df = pd.DataFrame({'col':['a,b', 'a']})
请注意,正则表达式可以根据需要进行更改
编辑:
df.col.str.extract(r'^([^,]*),?(\b\w+)')
0 1
0 Uttara Dhaka
1 Faridpur