【发布时间】:2017-03-17 02:54:05
【问题描述】:
我是 Python 的初学者,我在论坛上搜索了我的问题的答案,但没有成功。
我有一个矩阵,想从另一列的数字中减去一列的数字,然后用结果创建一个新列。
我试过了:
df['new column]=df['column 1']-df['column 2']
我的输出是:TypeError: unsupported operand type(s) for -: 'str' and 'str'
然后我尝试将这些列转换为整数,然后使用以下行执行减法:
df['column 2']=df['column 2'].astype(int)
我的输出是:ValueError: cannot convert float NaN to integer
(我的数据框中有一些 NaN)。然后我尝试用 使用以下代码的空字符串:
def remove_nan(s):
import math
""" remove np.nan"""
if math.isnan(s) == True:
s.replace( np.nan,"")
else:
return s
df['column 1'] = df.apply(remove_nan, axis=0)
我的输出是:TypeError: ("cannot convert the series to <class 'float'>", 'occurred at index ID Number')
如果有人能提供有关我在哪里犯错误的见解,我将不胜感激。
感谢您的帮助。
【问题讨论】:
-
你可以在这里stackoverflow.com/questions/15118111/…寻找答案