我第一次使用Excel工作并寻找一个直观简单的命令,但我找不到任何东西。我在第1列中有5个不同的值,在第2列中有相应的值,它们表示A列中的现代化程度(以点为单位)和B列中房地产的剩余使用寿命(以年为单位)。由于A列的实现点可以位于行之间,因此我想识别所获得点的较低和较高值以计算加权平均值。
Degree of modernisation Remaining useful life
1 22
4 27
8 34
13 43
18 52
更准确地说,在我的情况下,现代化程度为11,介于8和13之间。因此,较低的值为8,而下一个较高的值为13.您可以根据我的示例推荐哪些命令来识别这些值搜索号为11?
答案 0 :(得分:0)
这是完整的解决方案。我把它分成了一个步骤,所以它应该是自我解释的。
import numpy as np
import pandas as pd
points = [
{'coords': (100.5, 100), 'class': 1},
{'coords': (300, 300), 'class':2},
{'coords': (50, 200), 'class':4},
{'coords': (550, 400), 'class':10},
{'coords': (550, 300), 'class':1}
]
# pandas data frame
data = np.array([['x', 'y', 'class']])
for point in points:
row = [point['coords'][0], point['coords'][1], point['class']]
data = np.vstack((data, row))
df = pd.DataFrame(data[1:],dtype=float)
df.columns = data[0:1].tolist()
df['mult'] = np.multiply(df['x'],df['y'])
df['mult']
mult
0 10050.0
1 90000.0
2 10000.0
3 220000.0
4 165000.0