我试图根据用户输入从.csv文件的特定行中绘制数据。数据文件的第一列是唯一的ID值,接下来的三列是要绘制的x,y,z值。
一旦用户输入了ID值之一,我如何只绘制与输入ID值具有相同ID值的所有行的x,y,z数据?
我一直在尝试使用.loc,但没有成功。
input_id = int(input())
df = pd.read_csv('filename.csv')
df = df.loc[df['id column'] == input_id]
答案 0 :(得分:2)
df的调用图
import matplotlib.pyplot as plt
df = df.loc[df['id column'] == input_id]
df[['columns_to_plot']].plot() # assuming it's x, y ,z
plt.show()
检查文档的打印类型:dataframe.plot
答案 1 :(得分:1)
使用条件/掩码和.loc仅选择所需的行,然后删除其余行,最后绘制数据框。
condition = (df['id column'] == input_id)
df = df.loc[condition].dropna()
df.plot(kind='line',x='index',y='value')
plt.show()