【发布时间】:2020-07-29 08:44:37
【问题描述】:
我有一个 Pandas DataFrame,它有一列包含逗号分隔的数字、& 分隔的数字和连字符分隔的数字范围...
Title LLFCs Red Amber Green
a 15, 18 11.65 2.86 1.89
b 16 & 19 9.08 2.93 1.53
c 112-114 6.45 2.54 1.64
我希望每个 'LLFC' 值都有自己的行,这意味着连字符所暗示的数字(在本例中为 113)也必须展开。我的理想结果如下...
Title LLFCs Red Amber Green
a 15 11.65 2.86 1.89
a 18 11.65 2.86 1.89
b 16 9.08 2.93 1.53
b 19 9.08 2.93 1.53
c 112 6.45 2.54 1.64
c 113 6.45 2.54 1.64
c 114 6.45 2.54 1.64
除了解开连字符值之外,我目前有以下几行可以满足我的所有需求...
data1 = data1.assign(LLFCs=data1['LLFCs'].str.replace('-',', '))
data1 = data1.assign(LLFCs=data1['LLFCs'].str.replace(' & ',', '))
data1 = data1.assign(LLFCs=data1['LLFCs'].str.split(', ')).explode('LLFCs')
这段代码实现了以下...
Title LLFCs Red Amber Green
a 15 11.65 2.86 1.89
a 18 11.65 2.86 1.89
b 16 9.08 2.93 1.53
b 19 9.08 2.93 1.53
c 112 6.45 2.54 1.64
c 114 6.45 2.54 1.64
这显然不包括连字符包装的值,有人能帮我解决这个问题吗?
【问题讨论】:
-
所以在连字符的情况下你需要扩大范围?
标签: python pandas dataframe split hyphen