在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输出如下:
一、方法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]选取第一行数据,输出如下:
输出的第一行的数据,该数据类型为Series。
四.方法四:使用ix可以实现。ix可以同时包括标签和整数。但是pandas的设计者认为ix有些神奇的索引行为,已经不建议使用。这里不进行介绍了。
五、读取dataframe中同时在某一行和某一列的数据
使用df.loc['行索引', '列索引']实现,例如:df.loc['a','Ohio']
得到在第一行,第一列的数据0。同样可以使用df.iloc[0]起到相同的效果。
标签:loc,索引,python,选取,ix,df,iloc