import numpy as np
from pandas import DataFrame
import pandas as pd
df=pd.DataFrame(np.random.randn(5,3),index = range(5), columns = list('abc'))
df

从中取出特定的行/列可以使用.loc()函数。但是.loc()有一个特性,与普通的python切片不同,起止位置的内容都会被包括。
Note that contrary to usual python slices, both the start and the stop are included.

注意到df.loc[0:4,'a'],输出了5个元素。
如果不习惯这种设定,有没有其他办法呢?有的,还是切片。

这里就可以看到df[0:4]['a'],只输出了4个元素,符合我们对于python数组的使用习惯。
切片的其他一些用法对于DataFrame结构也是成立的。比如:

以及

更复杂的情况比如加入列表推导式之类,暂时还没有遇到,遇到之后再继续研究了。
本文介绍了如何使用pandas的.loc()函数来选取DataFrame的特定行和列,强调了.loc()的切片特性,即起止位置均包含在内。并提供了与普通Python切片不同的使用方式,如df[0:4]['a'],以更符合习惯地选取数据。此外,还提及了切片在DataFrame中的其他应用,但更复杂的用法如列表推导式暂未探讨。
7803

被折叠的 条评论
为什么被折叠?



