两个不同的pandas列之间的差异

时间:2017-11-28 10:43:45

标签: python-3.x function pandas difference

我构建了一个函数,用于区分来自不同数据集的两个不同的pandas列。第一个数据集包含预测值,第二个数据集包含观察值。问题是两个数据集的行是不同的,为了区别我必须使用行的ID。

功能是:

def difference(data1,data2):              
    for i in range(data1.shape[0]):
        e_id=data2.iloc[i,0]
        p_oss =data1.iloc[int(e_id),9]
        diff= p_oss - data2.iloc[i,1]
    return diff

difference(df,evaluation)

其中:data1:观测值data2:预测值

功能错误:

IndexError: single positional indexer is out-of-bounds

观察到的数据集结构如下:

ID Attribute1 Attribute2 ... Prime
1     N         10            123
2     S         10            128
3     N          8             26
4     S         12            567
..
n     N         15             5

预测数据集的结构如下:

ID   Prime
4     566.89
1     123.03
2     127.95
3     26.01
...

预测数据集的ID发生变化,因为我使用函数(train_test_split)来拆分列车e测试集中的原始df。

我想要这样的输出:

ID   difference
1      0.03
2      0.05
3      0.1
4      0.11

...

0 个答案:

没有答案