我有代码,我在pandas中打开了一个csv文件,我正在创建一个新的。有一行我需要创建一个“减去两行的绝对值”的“最后两行注释掉”。我在脑海里尝试了很多想法都会带来错误。
import pandas as pd
import numpy as np
df = pd.read_csv(filename_read)
ids = df['id']
oosDF = pd.DataFrame()
oosDF['id'] = ids
oosDF['pred'] = pred
oosDF['y'] = df['target']
#oosDF['diff'] = oosdF['pred'] - oosDF['y']
#oosDF['diff'] = oosDF.abs()
答案 0 :(得分:2)
我认为您需要新的DataFrame
子集(双[]
中的列名称),然后得到abs
列的差值:
oosDF = df[['id','pred', 'target']].replace(columns={'target':'y'})
oosDF['diff'] = (oosDF['pred'] - oosDF['y']).abs()
答案 1 :(得分:1)
在您的第一个注释行中,您有oosdF
而不是oosDF
。
在您的第二个注释行中,您将列设置为abs()
应用于整个数据框。那应该是oosDF['diff'].abs()
希望这有帮助!