Python 如何使用.map使用部分数据帧

Python 如何使用.map使用部分数据帧,python,pandas,Python,Pandas,我使用.map来替换数据帧中属于间隔的值。我不确定这是因为我正在使用.map函数,还是因为我正在复制数据帧的副本: intervals = pd.DataFrame(columns = ['Hole','From','To','Value'], data = [['N',0,100,'A'],['N',100,200,'B'],['N',200,500,'C'],['Q',1,101,'A'],['Q',101,201,'B'],['Q',201,501,'C']]) print('interv

我使用.map来替换数据帧中属于间隔的值。我不确定这是因为我正在使用.map函数,还是因为我正在复制数据帧的副本:

intervals = pd.DataFrame(columns = ['Hole','From','To','Value'], data = [['N',0,100,'A'],['N',100,200,'B'],['N',200,500,'C'],['Q',1,101,'A'],['Q',101,201,'B'],['Q',201,501,'C']])
print('intervals\n',intervals,'\n')

points = pd.DataFrame(columns = ['Hole','Point', 'Value'], data = [['N',45,'X'],['N',125,'X'],['N',145,'X'],['N',345,'X'],['Q',45,'X'],['Q',125,'X'],['Q',145,'X'],['Q',345,'X']])
print('points\n',points,'\n')

holelist = intervals['Hole'].unique()
print(holelist)
intervallist = []

for hole in holelist:
    holeintervaldf = intervals[intervals['Hole'] == hole]
    print('holeintervaldf\n',holeintervaldf)
    holeintervaldf=holeintervaldf.set_index(keys = pd.IntervalIndex.from_arrays(left = holeintervaldf['From'], right = holeintervaldf['To']))['Value']
    print('holeintervaldf with intervalsas index\n',holeintervaldf)
    points[points['Hole']==hole]['Value'] = points[points['Hole']==hole]['Point'].map(holeintervaldf) #this is where something is wrong


for j in intervallist: print(j)

print(points)

非常感谢