您可以创建一个函数,该函数在df.D
列中输入一个条目并返回一个系列。然后您可以将 Seriesapply
与此功能一起使用:
def f(d):
try:
if d[0] == '<':
return pd.Series(['<=', float(d[1:])])
except TypeError:
return pd.Series(['==', d])
In [9]: df = DataFrame({'A': {0: 'e', 1: 'e', 2: 'e', 3: 'e', 4: 'e', 5: 'e'}, 'B': {0: 2, 1: 2, 2: 2, 3: 2, 4: 2, 5: 2}, 'C': {0: '=', 1: '=', 2: '=', 3: '=', 4: '=', 5: '='}, 'D': {0: '<0.1', 1: '<0.11', 2: 0.1, 3: 0.1, 4: 0.1, 5: '<0.14'}})
In [10]: df
Out[10]:
A B C D
0 e 2 = <0.1
1 e 2 = <0.11
2 e 2 = 0.1
3 e 2 = 0.1
4 e 2 = 0.1
5 e 2 = <0.14
In [11]: df[['C', 'D']] = df.D.apply(f)
In [12]: df
Out[12]:
A B C D
0 e 2 <= 0.1
1 e 2 <= 0.11
2 e 2 == 0.1
3 e 2 == 0.1
4 e 2 == 0.1
5 e 2 <= 0.14