我想知道在数据帧中的字符串列表的某种表达。
如何使用python分割字符串值?
我正在使用替换方法。
但是,我找不到只删除节点号的方法。
数据框
index article_id
0 ['@abc_172', '@abc_249', '@abc-32', '@def-1']
1 ['@az3_2', '@bwc_4', '@xc-34', '@xc-1']
2 ['@ac_12']
3 ['#ea457870a2d32453609f52e50f84abdc_15', '@bb_3']
4 ...
... ...
我想要这样
index article_id article_id_unique_count
0 ['abc', 'abc', 'abc', 'def'] 2
1 ['az3', 'bwc', 'xc', 'xc'] 3
2 ['ac'] 1
3 ['#ea457870a2d32453609f52e50f84abdc', 'bb'] 2
...
最佳答案
使用re.findall
df['article_id'] = df.article_id.apply(lambda x: re.findall('([#a-z0-9]+)',x)).apply(lambda x: [i for i in x if i.isdigit() == False])
df['article_id_unique_count'] = df['article_id'].apply(lambda x: len(set(x)))
输出量
article_id article_id_unique_count
0 [abc, abc, abc, def] 2
1 [az3, bwc, xc, xc] 3
2 [ac] 1
3 [#ea457870a2d32453609f52e50f84abdc, bb] 2
关于python - 如何在python中使用条件拆分字符串数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57105552/