2017-03-13 57 views
0

我正在學習熊貓。我製作了一個數據字典,並將其轉換爲DataFrame。然後我將它繪製成線圖。我很好奇如何將這個折線圖作爲一個方程來處理,並得到一個輸入變量的結果?如何用熊貓/ matplotlib圖解變量

例如:

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)或與熊貓或matplotlib類似的東西?

謝謝!

回答

2

我想你可能誤解了熊貓和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

enter image description here

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() 

現在你可以用matplotlib當然繪製的結果以圖表