例如:
import pandas
import matplotlib
import matplotlib.pyplot as plt
graphPoints = {"Number":[1,2,3,5,6],"value": [100.0,85.0,56.4,22.7,6.8]}
mydf = pandas.DataFrame(round1data)
myindexed_df = round1df.set_index('Number')
myindexed_df.plot()
plt.show()
如何在该图表上获取新值的结果?即如果x = 4,则y = ??是否有某种y = plt(x)或与pandas或matplotlib相似的东西?
谢谢!
答案 0 :(得分:2)
我想你可能误解了pandas和matplotlib的范围。熊猫是一种数据组织工具。 Matplotlib是一种数据可视化工具。这里你需要的是一个数据计算工具。
一种可能使用的工具是numpy
。
为了计算位置x = 4
的y值,您可以使用numpy.interp()
插入给定的数组。
import numpy as np
number = np.array([1,2,3,5,6])
value = np.array([100.0,85.0,56.4,22.7,6.8])
print (np.interp(4, number, value))
这会打印39.55
。
现在您可以使用matplotlib在图表中绘制结果:
import numpy as np
number = np.array([1,2,3,5,6])
value = np.array([100.0,85.0,56.4,22.7,6.8])
f = lambda x: np.interp(x, number, value)
import matplotlib.pyplot as plt
plt.plot(number, value, ls="-.", marker="o", label="values")
plt.plot(4, f(4), marker="s",markersize=8, label="x = 4, y = {}".format(f(4)))
plt.legend()
plt.show()