从csv文件中查询

时间:2018-04-06 17:06:21

标签: python pandas dataframe matplotlib

我想绘制一幅超过0.5岁的人的情节。 当我在python中输入数据并生成数据框时,我的代码可以工作:

import pandas as pd

data = {'age': [0.62,0.84,0.78,0.80,0.70,0.25,0.32,0.86,0.75],
'gender': [1,0,0,0,1,0,0,1,0],
'LOS': [0.11,0.37,0.23,-0.02,0.19,0.27,0.37,0.31,0.21],
'WBS': [9.42,4.40,6.80,9.30,5.30,5.90,3.10,4.10,12.07],
'HB': [22.44,10.40,15.60,15.10,11.30,10.60,12.50,10.40,14.10],
'Nothrophil': [70.43,88.40,76.50,87,82,87.59,15.40,77,88]}
df = pd.DataFrame(data, index=[0,1,2,3,4,5,6,7,8])

old = df.query('age > 0.5')

import matplotlib.pyplot as plt
plt.plot(old.age)
plt.show()

但是当我使用csv文件来构建我的数据框时,代码不起作用:

 import pandas as pd
df= pd.read_csv('F:\HCSE\sample_data1.csv',sep=';')
old = df.query('age > 0.5')
import matplotlib.pyplot as plt
plt.plot(old.age)
plt.show()

如何使用csv文件并执行相同的操作?

还有一个问题。是否可以仅使用一个参数绘制散点图?

作为一个例子,我想绘制一个超过0.5岁的人的散点图(Y轴是年龄,X轴是csv文件中的数据或行数),我想使用不同性别的不同颜色。我怎么能这样做?

非常感谢。

2 个答案:

答案 0 :(得分:1)

  

但是当我使用csv文件来构建我的数据框时,代码不会   工作:

您可能希望分享错误消息,以便我们可以知道,幕后发生了什么。

  

是否可以仅使用一个参数绘制散点图?

     

作为一个例子,我想绘制一个更多人的散点图   超过0.5岁(Y轴是年龄,X轴是数字   csv文件中的数据或行数)我想使用不同的   不同性别的颜色。我怎么能这样做?

是。请参考以下代码。

colors = ['b' if gender == 1 else 'r' for gender in df.loc[df['age'] >0.5].gender]
df.loc[df['age'] > 0.5].reset_index().plot.scatter('index', 'age', color=colors)

enter image description here

使用seaborn的lmplot你也可以很容易地做到这一点。

import seaborn as sns

sns.lmplot(x="index", y="age", data=df.loc[df['age'] > 0.5].reset_index(), hue="gender", fit_reg=False)

enter image description here

请注意,您可以使用hue参数根据性别应用颜色。希望这有助于可视化。

答案 1 :(得分:0)

对于散点图,您可以简单地执行:

colors = ['b' if gender == 1 else 'r' for gender in old.gender]
plt.scatter(range(len(old.age)), old.age, color = colors)
plt.show()

关于查询,你能把你的.csv文件?它适用于我的数据。