在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别

在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别

在dataframe对象中,如何选择一行数据?如何选择某一个数据?先创建一个dataframe对象,进行演示:

df = pd.DataFrame(np.arange(16).reshape(4, 4),
                  index = ['a','b','c','d'],
                  columns=['Ohio', 'Texas', 'California','Los'])

df输出如下:

在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别_第1张图片

一、方法1:使用数字索引选取行。这是最简单的方法。

df[:1]

输出如下:.。这里需要注意一点,不能使用df[1]这样的方式,选取第一行。使用df[1]的时候,会报错。

二、方法2:使用轴标签loc选取行数据

loc的用法为df.loc[行索引]

df.loc['a'],会选取a这一行,如果两行的话,可以用df[['a','b']]来实现。

输出如下:

三、方法三:使用整数标签iloc选取行数据

iloc的用法为df.iloc[行数]。用法类似于loc,只不过把索引变为了数字。

例如:df.iloc[0]选取第一行数据,输出如下:

在python的pandas模块中,DataFrame对象,如何选择一行?索引、loc、iloc、ix的用法及区别_第2张图片

输出的第一行的数据,该数据类型为Series。

四.方法四:使用ix可以实现。ix可以同时包括标签和整数。但是pandas的设计者认为ix有些神奇的索引行为,已经不建议使用。这里不进行介绍了。

五、读取dataframe中同时在某一行和某一列的数据

使用df.loc['行索引', '列索引']实现,例如:df.loc['a','Ohio']

得到在第一行,第一列的数据0。同样可以使用df.iloc[0]起到相同的效果。

 

 

 

 

你可能感兴趣的:(python基础)