我是一名Python初學者,已經在論壇中搜索了無法成功解決問題的答案。在Python中從2個數據框列中減去數字
我有一個矩陣,想從一列中減去另一列中的數字,然後用結果創建一個新列。
我想:
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)
我的輸出是:類型錯誤:("cannot convert the series to <class 'float'>", 'occurred at index ID Number')
我將不勝感激,如果有人可以提供洞察到哪裏我犯了錯誤。
謝謝你的幫助。
你可以尋找答案在這裏http://stackoverflow.com/questions/15118111/apply-function-to-each-row-of -pandas-數據幀,以創建兩新柱 – Afaq