我有一个包含以下列的数据框:
A
+
+
-
+
-
Run Code Online (Sandbox Code Playgroud)
如何将此列转换为整数值.这样我可以将它乘以其他数值?
因此,所有'+'将被1和' - '替换为-1.
如果我理解正确,你可以使用replace:
>>> df
A
0 +
1 +
2 -
3 +
4 -
new_df = df.replace({'A':{'+':1, '-':-1}})
>>> new_df
A
0 1
1 1
2 -1
3 1
4 -1
Run Code Online (Sandbox Code Playgroud)
使用申请:
假设只有+和-值在列中
df['A'] = df.A.apply(lambda x: 1 if x == '+' else -1)
Run Code Online (Sandbox Code Playgroud)
使用字符串连接和转换:
df['A'] = (df.A + '1').astype(int)
Run Code Online (Sandbox Code Playgroud)
使用字符串相等和转换:
df['A'] = (df.A == '+').astype(int)*2-1
Run Code Online (Sandbox Code Playgroud)