如何使用.loc函数从某些行收集数据

时间:2019-05-06 20:09:22

标签: python pandas

我试图根据用户输入从.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]

Example of the data

2 个答案:

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