我有一个像这样的excel电子表格
block x-start y-start x-end y-end
block1 10 10 20 20
block2 0 0 10 10
等
上表中的值代表另一个Excel工作表中的行和列。
因此对于第一个块,我想从另一工作表的行/列10,10-20,20中获取平均值。有什么想法怎么做?
显然,我可以手动突出显示有问题的行/列并查看平均值,但是我需要计算成千上万的列,并且需要以自动化方式进行。
感谢您的帮助。 D.E。
答案 0 :(得分:0)
查看df = pd.DataFrame({
'A':list('abcdef'),
'Mileage':[np.nan,5,4,5,5,np.nan],
'Bike':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')
})
print (df)
A Mileage Bike D E F
0 a NaN 7 1 5 a
1 b 5.0 8 3 3 a
2 c 4.0 9 5 6 a
3 d 5.0 4 7 9 b
4 e 5.0 2 1 2 b
5 f NaN 3 0 4 b
d2 = df.loc[pd.isnull(df['Mileage']),['Bike','Mileage']]
print (d2)
Bike Mileage
0 7 NaN
5 3 NaN
d2 = df.iloc[pd.isnull(df['Mileage']).values, df.columns.get_indexer(['Bike','Mileage'])]
print (d2)
Bike Mileage
0 7 NaN
5 3 NaN
-它将从固定位置偏移#rows /#cols,从该位置偏移#rows /#cols