假设我有两个原始矩阵和参考矩阵
import pandas as pa
print "Original Data Frame"
# Create a dataframe
oldcols = {'col1':['a','a','b','b'], 'col2':['c','d','c','d'], 'col3':[1,2,3,4]}
a = pa.DataFrame(oldcols)
print "Original Table:"
print a
print "Reference Table:"
b = pa.DataFrame({'col1':['x','x'], 'col2':['c','d'], 'col3':[10,20]})
print b
现在我想从原始表(a)的第三列(col3)中减去参考表(c)中两个表的第二列匹配的行中的值。所以表2的第一行应该在第三列加上值10,因为表b中列为col2的行是“c”,在col3中的值是10。有道理?下面是一些代码:
col3 = []
for ix, row in a.iterrows():
col3 += [row[2] + b[b['col2'] == row[1]]['col3']]
a['col3'] = col3
print "Output Table:"
print a
想让它看起来像这样:
Output Table:
col1 col2 col3
0 a c 11
1 a d 22
2 b c 13
3 b d 24
问题是col3在数组中取Name:和dtype
>>print col3
[0 11
Name: col3, dtype: int64, 1 22
Name: col3, dtype: int64, 0 13
Name: col3, dtype: int64, 1 24
Name: col3, dtype: int64]
你能帮忙吗?你知道吗
这应该起作用:
或者这个:
您可以根据要求通过以下方式将其存储在原件中:
相关问题 更多 >
编程相关推荐