我希望能够在pandas数据框中创建一个新的列,它包含化学式中的氢原子的数量。从化学式C18H36P1S1中得到氢原子的数量,会得到36。化学公式是通用的,所以你不能仅仅提供确切的化学公式,在一列中有数千个。
发布于 2019-05-08 00:15:12
import re
REGEX = re.compile(r'H(?P<hydrogens>\d+)')
REGEX.search('C18H36P1S1').group('hydrogens')返回:
'36'
发布于 2019-05-08 00:17:21
您可以使用str.extract
df = pd.DataFrame({'formula':['C18H36P1S1']})
df['No Hydrogens'] = df['formula'].str.extract('.*H(\d+)[A-Za-z].*')
formula No Hydrogens
0 C18H36P1S1 36https://stackoverflow.com/questions/56026639
复制相似问题