我有一个用于存储网络数据的熊猫数据框;看起来像:
from_id, to_id, count
X, Y, 3
Z, Y, 4
Y, X, 2
...
我正在尝试添加一个新列 ,inverse_count它获取和从当前行反转的count行的值。from_idto_id
我正在采取以下方法。我以为它会很快,但它比我预期的要慢得多,而且我不明白为什么。
def get_inverse_val(x):
# Takes the inverse of the index for a given row
# When passed to apply with axis = 1, the index becomes the name
try:
return df.loc[(x.name[1], x.name[0]), 'count']
except KeyError:
return 0
df = df.set_index(['from_id', 'to_id'])
df['inverse_count'] = df.apply(get_inverse_val, axis = 1)
HUX布斯
慕斯709654
相关分类