问题描述
我正在尝试进行一些数据处理,但是每次都会遇到相同的错误。 我的数据框(con_tc)如下所示:-
Index u_p0 u_p1 u_p2.........u_p100
x 0 0 0 0
y 0 0 0 0
z 30 50 75 1000
0.01 0.5 0.6 0.43 0.83
0.02 0.56 0.94 0.94 0.7
....
1000 0.4 0.5 0.45 0.56
当我运行这段代码con_tc.index = con_tc.index.map(lambda w: float(w) if (w not in 'xyz') else w)
时
试图将索引清理为浮点数,我得到的错误为
TypeError: 'in <string>' requires string as left operand,not float
此操作的目的是将除x,y和z之外的所有数字转换为浮点数。 基本而言
Index
x
y
z
0.01
0.02
....
1000
如果有人可以帮助我,那将真的很有帮助。
解决方法
也许您可以使用这种方式
con_tc ['float_u_p_0'] = con_tc.apply(lambda x:float(x.u_p0)如果x.Index不在(“ xyz”)中,否则x.u_p0