我有一个 Dataframe ,看起来像这样
df = pd.DataFrame({'col_1': ['1', '2', '3', '4'],
'col_2': ['a:b,c:d', ':v', 'w:,x:y', 'f:g,h:i,j:']
})
col_2的数据类型当前是string,我想从col_2中提取第一个键和第一个值,分别作为col_3和col_4,因此输出如下所示
pd.DataFrame({'col_1': ['a', 'b', 'c', 'd'],
'col_2': ['a:b,c:d', ':v', 'w:,x:y', 'f:g,h:i,j:'],
'col_3': ['a','','w','f'],
'col_4': ['b','v','','g']
})
这是我目前所做的
df['col_3'] = df['col_2'].apply(lambda x: x.split(":")[0])
df['col_4'] = df['col_2'].apply(lambda x: x.split(":")[1])
但这显然行不通,因为它不是一本字典。
2条答案
按热度按时间jdgnovmf1#
对于正则表达式和
str.extract
来说,这是一项很好的工作:输出:
regex demo
slsn1g292#
字符串方法的另一个选项:
结果: