所以,我制作了一个图表,将.csv文件中的多行绘制到一个图表上。我想制作另一个仅包含特定行的图表,以便更好地分析它们。
我的数据是(只占总数的一部分):
Number Base-BW 1-BW 2-BW 3-BW 4-End-BW
182-14 39.7 41.1 40.3 39.5 38.8
95-14 43.3 41 41.9 42.4 41.6
15-14 59.4 59.4 59.1 59.1 56.4
124-14 76.4 77.4 74.8 74.5 68.1
183-14 35 35.5 36.8 37.3 35.4
我目前的脚本是:
# import all needed modules
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats as st
from numpy import loadtxt
import os
%matplotlib inline
# Set some Pandas options
pd.set_option('display.notebook_repr_html', False)
pd.options.display.mpl_style = 'default'
SelectBreed = pd.read_csv('SelectBreeding(2-2-15).csv')
import matplotlib.pyplot as plt
import matplotlib.colors as cl
cl.Colormap('hsv')
plt.plot([0,1,2,3,4], (SelectBreed['Base-BW'],SelectBreed['1-BW'],SelectBreed['2-BW'],SelectBreed['3-BW'],SelectBreed['4-End-BW']))
plt.axis([0, 4, 0, 100])
plt.xlabel('Day')
plt.ylabel('Weight (g)')
plt.title('Body Weight')
plt.legend(SelectBreed['Number'], bbox_to_anchor=(1.1, 1.01))
plt.show()
哪个收益率:
那么有没有办法只显示第1行(182-14),第3(15-14)和第5行(183-14)?或者只是为了绘制那些特定的行?我已经检查了其他问题,没有一个像我一样使用.csv文件。谢谢你的帮助。
答案 0 :(得分:1)
Pandas库摇滚用于阅读.csv文件,然后分析它们。使用R中的样本数据集
import pandas as pd
cw = pd.read_csv('ChickWeight.csv')
cw.columns
Out [166]:Index([u'weight',u'Time',u'Chick',u'Diet'],dtype ='object')
cw[cw.Chick==1].plot('Time','weight')
挑选最后一行:cw[cw.Chick==1]
是cw
的所有行,其中Chick == 1; pandas数据帧有一个绘图方法(我认为这是matplotlib,所以会很熟悉)。
你也可以从数据框中做出复杂的选择,有一些很好的相关熊猫问题。
编辑添加:use a list of values to select rows from a pandas dataframe可能是您问题的最直接的方法; Selecting rows from a Pandas dataframe with a compound (hierarchical) index非常适合基于多个列进行选择(在多因素实验中一直出现)。