【发布时间】:2018-05-24 00:12:40
【问题描述】:
我试图弄清楚如何根据熊猫数据系列和 matplolib 中的 y 值获取 x 值。
更准确地说,我需要从多列中获取 y=0.5 时的 x 值。根据用户输入对数据进行归一化和切割。
我没有足够的数据点来获得精确的 0.5 值(最接近的可能是 0.4 或 0.6)
我虽然也许可以在 0.5 值处绘制线并获得交点或以某种方式插入数据,但我真的不知道如何正确地做到这一点。
也许有人有一些建议?
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('test.csv', header=0, sep=',' )
colnames = list(df.columns)
print(colnames)
colnames.pop(0)
for i in colnames:
df[i]= (df[i] - df[i].min()) / (df[i].max() - df[i].min())
print(df)
df.plot(x='Temperature')
plt.show()
y = input('Enter temperature')
d1 = df[df['Temperature'] >= int(y)]
a = input('Second temperature')
d2 = d1[d1['Temperature'] <= int(a)]
colnames2 = list(d2.columns)
for i in colnames2:
df[i] = (df[i] - df[i].min()) / (df[i].max() - df[i].min())
main = d2.plot(x='Temperature')
line = plt.axhline(y=0.5, color='black', linestyle='-')
plt.show()
p1 = d2.interpolate()
【问题讨论】:
标签: python pandas matplotlib